From 897f35012a243913ef8935cac0d31c21fe0e0d0c Mon Sep 17 00:00:00 2001 From: "ilya.razievskij" Date: Wed, 16 Apr 2025 12:05:47 +0300 Subject: [PATCH 1/3] chore: add metadata for v3 markets --- deploy/compile_targets/CompileCUSDt.py | 19 +++++++++---------- deploy/compile_targets/CompileCUSDtz.py | 19 +++++++++---------- deploy/compile_targets/CompileCXTZ.py | 17 ++++++++--------- deploy/compile_targets/CompileTzBTC.py | 19 +++++++++---------- 4 files changed, 35 insertions(+), 39 deletions(-) diff --git a/deploy/compile_targets/CompileCUSDt.py b/deploy/compile_targets/CompileCUSDt.py index 661ffec2..ff38dedc 100644 --- a/deploy/compile_targets/CompileCUSDt.py +++ b/deploy/compile_targets/CompileCUSDt.py @@ -16,19 +16,18 @@ metadata_ = sp.big_map({ "": sp.utils.bytes_of_string("tezos-storage:data"), "data": sp.utils.bytes_of_string(json.dumps({ - "name": "...", - "description": "...", - "version": "1.0.0", - "authors": ["..."], - "homepage": "https://some-website.com", - "interfaces": ["TZIP-007"], - "license": {"name": "..."} + "name": "TezFin Interest-Bearing USD Tether", + "description": "Interest-bearing token for USD Tether (USDt) supplied to the TezFin lending protocol.", + "version": "3.0", + "authors": ["Tezos Finance Protocol"], + "homepage": "https://tezos.finance", + "interfaces": ["TZIP-007", "TZIP-016"], })) }), token_metadata_ = { - "name": sp.utils.bytes_of_string("..."), - "symbol": sp.utils.bytes_of_string("..."), - "decimals": sp.utils.bytes_of_string("..."), + "name": sp.utils.bytes_of_string("TezFin Interest-Bearing USD Tether"), + "symbol": sp.utils.bytes_of_string("\ua730USDt"), + "decimals": sp.utils.bytes_of_string("6"), }, fa2_TokenAddress_ = sp.address(CFG.deployResult.USDt), tokenId_ = sp.nat(CFG.CFA2.tokenId) diff --git a/deploy/compile_targets/CompileCUSDtz.py b/deploy/compile_targets/CompileCUSDtz.py index 108f482e..a348ea73 100644 --- a/deploy/compile_targets/CompileCUSDtz.py +++ b/deploy/compile_targets/CompileCUSDtz.py @@ -16,19 +16,18 @@ metadata_ = sp.big_map({ "": sp.utils.bytes_of_string("tezos-storage:data"), "data": sp.utils.bytes_of_string(json.dumps({ - "name": "...", - "description": "...", - "version": "1.0.0", - "authors": ["..."], - "homepage": "https://some-website.com", - "interfaces": ["TZIP-007"], - "license": {"name": "..."} + "name": "TezFin Interest-Bearing USD Tez", + "description": "Interest-bearing token for USD Tez (USDtz) supplied to the TezFin lending protocol.", + "version": "3.0", + "authors": ["Tezos Finance Protocol"], + "homepage": "https://tezos.finance", + "interfaces": ["TZIP-007", "TZIP-016"], })) }), token_metadata_ = { - "name": sp.utils.bytes_of_string("..."), - "symbol": sp.utils.bytes_of_string("..."), - "decimals": sp.utils.bytes_of_string("..."), + "name": sp.utils.bytes_of_string("TezFin Interest-Bearing USD Tez"), + "symbol": sp.utils.bytes_of_string("\ua730USDtz"), + "decimals": sp.utils.bytes_of_string("6"), }, fa1_2_TokenAddress_ = sp.address(CFG.deployResult.USDtz) )) diff --git a/deploy/compile_targets/CompileCXTZ.py b/deploy/compile_targets/CompileCXTZ.py index 557c24d0..d7167602 100644 --- a/deploy/compile_targets/CompileCXTZ.py +++ b/deploy/compile_targets/CompileCXTZ.py @@ -15,18 +15,17 @@ metadata_ = sp.big_map({ "": sp.utils.bytes_of_string("tezos-storage:data"), "data": sp.utils.bytes_of_string(json.dumps({ - "name": "Compount XTZ contract", - "description": "...", - "version": "1.0.0", - "authors": ["..."], - "homepage": "https://some-website.com", - "interfaces": ["TZIP-007"], - "license": {"name": "..."} + "name": "TezFin Interest-Bearing XTZ", + "description": "Interest-bearing token for Tez (XTZ) supplied to the TezFin lending protocol.", + "version": "3.0", + "authors": ["Tezos Finance Protocol"], + "homepage": "https://tezos.finance", + "interfaces": ["TZIP-007", "TZIP-016"], })) }), token_metadata_ = { - "name": sp.utils.bytes_of_string("Compound XTZ"), - "symbol": sp.utils.bytes_of_string("fXTZ"), + "name": sp.utils.bytes_of_string("TezFin Interest-Bearing XTZ"), + "symbol": sp.utils.bytes_of_string("\ua730XTZ"), "decimals": sp.utils.bytes_of_string("6"), } )) diff --git a/deploy/compile_targets/CompileTzBTC.py b/deploy/compile_targets/CompileTzBTC.py index 5a1b04cd..f6ce3f9b 100644 --- a/deploy/compile_targets/CompileTzBTC.py +++ b/deploy/compile_targets/CompileTzBTC.py @@ -16,19 +16,18 @@ metadata_ = sp.big_map({ "": sp.utils.bytes_of_string("tezos-storage:data"), "data": sp.utils.bytes_of_string(json.dumps({ - "name": "...", - "description": "...", - "version": "1.0.0", - "authors": ["..."], - "homepage": "https://some-website.com", - "interfaces": ["TZIP-007"], - "license": {"name": "..."} + "name": "TezFin Interest-Bearing tzBTC", + "description": "Interest-bearing token for tzBTC (wrapped Bitcoin on Tezos) supplied to the TezFin lending protocol.", + "version": "3.0", + "authors": ["Tezos Finance Protocol"], + "homepage": "https://tezos.finance", + "interfaces": ["TZIP-007", "TZIP-016"], })) }), token_metadata_ = { - "name": sp.utils.bytes_of_string("..."), - "symbol": sp.utils.bytes_of_string("..."), - "decimals": sp.utils.bytes_of_string("..."), + "name": sp.utils.bytes_of_string("TezFin Interest-Bearing tzBTC"), + "symbol": sp.utils.bytes_of_string("\ua730tzBTC"), + "decimals": sp.utils.bytes_of_string("8"), }, fa1_2_TokenAddress_ = sp.address(CFG.deployResult.tzBTC) )) From 8f80e0889390a9e57ee07b7606b2265e74fa1a6a Mon Sep 17 00:00:00 2001 From: "ilya.razievskij" Date: Wed, 16 Apr 2025 12:11:52 +0300 Subject: [PATCH 2/3] chore: transfered ceil div fix for v3 --- contracts/CToken.py | 13 ++++++++++++- contracts/utils/Exponential.py | 13 +++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/contracts/CToken.py b/contracts/CToken.py index 1d0ba2fa..edcbf6df 100644 --- a/contracts/CToken.py +++ b/contracts/CToken.py @@ -969,6 +969,17 @@ def getActualAmount(self, amount, isUnderlying, adjustment): self.mulScalarTruncate(self.makeExp(exchangeRate), amount)) return actual_amount.value + def getActualAmountCeil(self, amount, isUnderlying, adjustment): + exchangeRate = self.exchangeRateAdjusted(adjustment) + actual_amount = sp.local("amount", sp.nat(0)) + sp.if isUnderlying: + actual_amount.value = sp.compute( + self.div_nat_exp_ceil(amount, self.makeExp(exchangeRate))) + sp.else: + actual_amount.value = sp.compute( + self.mulScalarTruncate(self.makeExp(exchangeRate), amount)) + return actual_amount.value + def getRedeemAmount(self, amount, isUnderlying): redeem_amount = sp.local("redeem_amount", sp.nat(0)) sp.if isUnderlying: @@ -981,7 +992,7 @@ def getRedeemAmount(self, amount, isUnderlying): def getRedeemTokens(self, amount, isUnderlying): redeem_tokens = sp.local("redeem_tokens", sp.nat(0)) sp.if isUnderlying: - redeem_tokens.value = self.getActualAmount(amount, True, sp.nat(0)) + redeem_tokens.value = self.getActualAmountCeil(amount, True, sp.nat(0)) sp.else: redeem_tokens.value = amount return redeem_tokens.value diff --git a/contracts/utils/Exponential.py b/contracts/utils/Exponential.py index ac222e52..f27097f5 100644 --- a/contracts/utils/Exponential.py +++ b/contracts/utils/Exponential.py @@ -268,3 +268,16 @@ def div_nat_exp(self, a, b): sp.set_type(b, TExp) sp.verify(b.mantissa > 0, EC.DIVISION_BY_ZERO) return a * self.data.expScale // b.mantissa + + def div_nat_exp_ceil(self, a, b): + sp.set_type(a, sp.TNat) + sp.set_type(b, TExp) + sp.verify(b.mantissa > 0, EC.DIVISION_BY_ZERO) + + numerator = sp.compute(a * self.data.expScale) + denominator = b.mantissa + + result = sp.compute(numerator // denominator) + sp.if numerator % denominator > 0: + result += 1 + return result From 1ed7c01433ed72bb23a5826752557408b3132b03 Mon Sep 17 00:00:00 2001 From: "ilya.razievskij" Date: Wed, 16 Apr 2025 12:13:49 +0300 Subject: [PATCH 3/3] chore: tests update to match ceil div fix --- TezFinTest/CToken_Tests/log.html | 6615 ++++++++++------- TezFinTest/CToken_Tests/log.txt | 1511 ++-- .../step_006_cont_0_contract.json | 15 + .../CToken_Tests/step_006_cont_0_contract.py | 17 + .../step_006_cont_0_contract.py.html | 1922 +++++ .../CToken_Tests/step_006_cont_0_contract.tz | 19 + .../CToken_Tests/step_006_cont_0_sizes.csv | 2 + .../CToken_Tests/step_006_cont_0_storage.json | 1 + .../CToken_Tests/step_006_cont_0_storage.py | 1 + .../CToken_Tests/step_006_cont_0_storage.tz | 1 + .../CToken_Tests/step_006_cont_0_types.py | 6 + .../step_007_cont_1_contract.json | 458 ++ .../CToken_Tests/step_007_cont_1_contract.py | 127 + .../step_007_cont_1_contract.py.html | 2006 +++++ .../CToken_Tests/step_007_cont_1_contract.tz | 276 + .../CToken_Tests/step_007_cont_1_sizes.csv | 2 + .../CToken_Tests/step_007_cont_1_storage.json | 7 + .../CToken_Tests/step_007_cont_1_storage.py | 1 + .../CToken_Tests/step_007_cont_1_storage.tz | 1 + .../CToken_Tests/step_007_cont_1_types.py | 6 + .../step_008_cont_2_contract.json | 80 + .../CToken_Tests/step_008_cont_2_contract.py | 29 + .../step_008_cont_2_contract.py.html | 1932 +++++ .../CToken_Tests/step_008_cont_2_contract.tz | 49 + .../CToken_Tests/step_008_cont_2_sizes.csv | 2 + .../CToken_Tests/step_008_cont_2_storage.json | 1 + .../CToken_Tests/step_008_cont_2_storage.py | 1 + .../CToken_Tests/step_008_cont_2_storage.tz | 1 + .../CToken_Tests/step_008_cont_2_types.py | 6 + .../step_009_cont_3_contract.json | 5459 ++++++++++++++ .../CToken_Tests/step_009_cont_3_contract.py | 742 ++ .../step_009_cont_3_contract.py.html | 2618 +++++++ .../CToken_Tests/step_009_cont_3_contract.tz | 4942 ++++++++++++ .../CToken_Tests/step_009_cont_3_sizes.csv | 2 + .../CToken_Tests/step_009_cont_3_storage.json | 1143 +++ .../CToken_Tests/step_009_cont_3_storage.py | 1 + .../CToken_Tests/step_009_cont_3_storage.tz | 1 + .../CToken_Tests/step_009_cont_3_types.py | 6 + .../CToken_Tests/step_011_cont_3_params.json | 1 + .../CToken_Tests/step_011_cont_3_params.py | 1 + .../CToken_Tests/step_011_cont_3_params.tz | 1 + .../CToken_Tests/step_013_cont_3_params.json | 1 + .../CToken_Tests/step_013_cont_3_params.py | 1 + .../CToken_Tests/step_013_cont_3_params.tz | 1 + .../CToken_Tests/step_020_cont_3_params.json | 1 + .../CToken_Tests/step_020_cont_3_params.py | 1 + .../CToken_Tests/step_020_cont_3_params.tz | 1 + .../CToken_Tests/step_026_cont_1_params.json | 1 + .../CToken_Tests/step_026_cont_1_params.py | 1 + .../CToken_Tests/step_026_cont_1_params.tz | 1 + .../CToken_Tests/step_027_cont_3_params.json | 2 +- .../CToken_Tests/step_027_cont_3_params.py | 2 +- .../CToken_Tests/step_027_cont_3_params.tz | 2 +- .../CToken_Tests/step_028_cont_3_params.json | 1 + .../CToken_Tests/step_028_cont_3_params.py | 1 + .../CToken_Tests/step_028_cont_3_params.tz | 1 + .../CToken_Tests/step_030_cont_1_params.json | 1 + .../CToken_Tests/step_030_cont_1_params.py | 1 + .../CToken_Tests/step_030_cont_1_params.tz | 1 + .../CToken_Tests/step_031_cont_3_params.json | 1 + .../CToken_Tests/step_031_cont_3_params.py | 1 + .../CToken_Tests/step_031_cont_3_params.tz | 1 + .../CToken_Tests/step_032_cont_3_params.json | 1 + .../CToken_Tests/step_032_cont_3_params.py | 1 + .../CToken_Tests/step_032_cont_3_params.tz | 1 + .../CToken_Tests/step_035_cont_3_params.json | 1 + .../CToken_Tests/step_035_cont_3_params.py | 1 + .../CToken_Tests/step_035_cont_3_params.tz | 1 + .../CToken_Tests/step_038_cont_3_params.json | 1 + .../CToken_Tests/step_038_cont_3_params.py | 1 + .../CToken_Tests/step_038_cont_3_params.tz | 1 + .../CToken_Tests/step_039_cont_1_params.json | 1 + .../CToken_Tests/step_039_cont_1_params.py | 1 + .../CToken_Tests/step_039_cont_1_params.tz | 1 + .../CToken_Tests/step_040_cont_1_params.json | 1 + .../CToken_Tests/step_040_cont_1_params.py | 1 + .../CToken_Tests/step_040_cont_1_params.tz | 1 + .../CToken_Tests/step_042_cont_3_params.json | 1 + .../CToken_Tests/step_042_cont_3_params.py | 1 + .../CToken_Tests/step_042_cont_3_params.tz | 1 + .../CToken_Tests/step_044_cont_3_params.json | 1 + .../CToken_Tests/step_044_cont_3_params.py | 1 + .../CToken_Tests/step_044_cont_3_params.tz | 1 + .../CToken_Tests/step_048_cont_1_params.json | 1 + .../CToken_Tests/step_048_cont_1_params.py | 1 + .../CToken_Tests/step_048_cont_1_params.tz | 1 + .../CToken_Tests/step_049_cont_3_params.json | 1 + .../CToken_Tests/step_049_cont_3_params.py | 1 + .../CToken_Tests/step_049_cont_3_params.tz | 1 + .../CToken_Tests/step_050_cont_3_params.json | 1 + .../CToken_Tests/step_050_cont_3_params.py | 1 + .../CToken_Tests/step_050_cont_3_params.tz | 1 + .../CToken_Tests/step_052_cont_3_params.json | 2 +- .../CToken_Tests/step_052_cont_3_params.py | 2 +- .../CToken_Tests/step_052_cont_3_params.tz | 2 +- .../CToken_Tests/step_053_cont_1_params.json | 1 + .../CToken_Tests/step_053_cont_1_params.py | 1 + .../CToken_Tests/step_053_cont_1_params.tz | 1 + .../CToken_Tests/step_054_cont_1_params.json | 1 + .../CToken_Tests/step_054_cont_1_params.py | 1 + .../CToken_Tests/step_054_cont_1_params.tz | 1 + .../CToken_Tests/step_055_cont_1_params.json | 1 + .../CToken_Tests/step_055_cont_1_params.py | 1 + .../CToken_Tests/step_055_cont_1_params.tz | 1 + .../CToken_Tests/step_056_cont_3_params.json | 2 +- .../CToken_Tests/step_056_cont_3_params.py | 2 +- .../CToken_Tests/step_056_cont_3_params.tz | 2 +- .../CToken_Tests/step_060_cont_3_params.json | 1 + .../CToken_Tests/step_060_cont_3_params.py | 1 + .../CToken_Tests/step_060_cont_3_params.tz | 1 + .../CToken_Tests/step_061_cont_3_params.json | 1 + .../CToken_Tests/step_061_cont_3_params.py | 1 + .../CToken_Tests/step_061_cont_3_params.tz | 1 + .../CToken_Tests/step_063_cont_3_params.json | 1 + .../CToken_Tests/step_063_cont_3_params.py | 1 + .../CToken_Tests/step_063_cont_3_params.tz | 1 + .../CToken_Tests/step_066_cont_3_params.json | 2 +- .../CToken_Tests/step_066_cont_3_params.py | 2 +- .../CToken_Tests/step_066_cont_3_params.tz | 2 +- .../CToken_Tests/step_067_cont_1_params.json | 1 + .../CToken_Tests/step_067_cont_1_params.py | 1 + .../CToken_Tests/step_067_cont_1_params.tz | 1 + .../CToken_Tests/step_068_cont_1_params.json | 1 + .../CToken_Tests/step_068_cont_1_params.py | 1 + .../CToken_Tests/step_068_cont_1_params.tz | 1 + .../CToken_Tests/step_070_cont_3_params.json | 1 + .../CToken_Tests/step_070_cont_3_params.py | 1 + .../CToken_Tests/step_070_cont_3_params.tz | 1 + .../CToken_Tests/step_072_cont_3_params.json | 1 + .../CToken_Tests/step_072_cont_3_params.py | 1 + .../CToken_Tests/step_072_cont_3_params.tz | 1 + .../CToken_Tests/step_075_cont_1_params.json | 2 +- .../CToken_Tests/step_075_cont_1_params.py | 2 +- .../CToken_Tests/step_075_cont_1_params.tz | 2 +- .../CToken_Tests/step_076_cont_3_params.json | 2 +- .../CToken_Tests/step_076_cont_3_params.py | 2 +- .../CToken_Tests/step_076_cont_3_params.tz | 2 +- .../CToken_Tests/step_077_cont_1_params.json | 1 + .../CToken_Tests/step_077_cont_1_params.py | 1 + .../CToken_Tests/step_077_cont_1_params.tz | 1 + .../CToken_Tests/step_078_cont_1_params.json | 1 + .../CToken_Tests/step_078_cont_1_params.py | 1 + .../CToken_Tests/step_078_cont_1_params.tz | 1 + .../CToken_Tests/step_079_cont_3_params.json | 1 + .../CToken_Tests/step_079_cont_3_params.py | 1 + .../CToken_Tests/step_079_cont_3_params.tz | 1 + .../CToken_Tests/step_081_cont_3_params.json | 1 + .../CToken_Tests/step_081_cont_3_params.py | 1 + .../CToken_Tests/step_081_cont_3_params.tz | 1 + .../CToken_Tests/step_082_cont_1_params.json | 1 + .../CToken_Tests/step_082_cont_1_params.py | 1 + .../CToken_Tests/step_082_cont_1_params.tz | 1 + .../CToken_Tests/step_083_cont_1_params.json | 1 + .../CToken_Tests/step_083_cont_1_params.py | 1 + .../CToken_Tests/step_083_cont_1_params.tz | 1 + .../CToken_Tests/step_084_cont_1_params.json | 1 + .../CToken_Tests/step_084_cont_1_params.py | 1 + .../CToken_Tests/step_084_cont_1_params.tz | 1 + .../CToken_Tests/step_085_cont_3_params.json | 2 +- .../CToken_Tests/step_085_cont_3_params.py | 2 +- .../CToken_Tests/step_085_cont_3_params.tz | 2 +- .../CToken_Tests/step_088_cont_3_params.json | 2 +- .../CToken_Tests/step_088_cont_3_params.py | 2 +- .../CToken_Tests/step_088_cont_3_params.tz | 2 +- .../CToken_Tests/step_089_cont_1_params.json | 1 + .../CToken_Tests/step_089_cont_1_params.py | 1 + .../CToken_Tests/step_089_cont_1_params.tz | 1 + .../CToken_Tests/step_090_cont_1_params.json | 1 + .../CToken_Tests/step_090_cont_1_params.py | 1 + .../CToken_Tests/step_090_cont_1_params.tz | 1 + .../CToken_Tests/step_091_cont_3_params.json | 1 + .../CToken_Tests/step_091_cont_3_params.py | 1 + .../CToken_Tests/step_091_cont_3_params.tz | 1 + .../CToken_Tests/step_093_cont_3_params.json | 2 +- .../CToken_Tests/step_093_cont_3_params.py | 2 +- .../CToken_Tests/step_093_cont_3_params.tz | 2 +- .../CToken_Tests/step_094_cont_1_params.json | 1 + .../CToken_Tests/step_094_cont_1_params.py | 1 + .../CToken_Tests/step_094_cont_1_params.tz | 1 + .../CToken_Tests/step_095_cont_1_params.json | 1 + .../CToken_Tests/step_095_cont_1_params.py | 1 + .../CToken_Tests/step_095_cont_1_params.tz | 1 + .../CToken_Tests/step_096_cont_3_params.json | 2 +- .../CToken_Tests/step_096_cont_3_params.py | 2 +- .../CToken_Tests/step_096_cont_3_params.tz | 2 +- .../CToken_Tests/step_099_cont_3_params.json | 1 + .../CToken_Tests/step_099_cont_3_params.py | 1 + .../CToken_Tests/step_099_cont_3_params.tz | 1 + .../CToken_Tests/step_101_cont_3_params.json | 1 + .../CToken_Tests/step_101_cont_3_params.py | 1 + .../CToken_Tests/step_101_cont_3_params.tz | 1 + .../CToken_Tests/step_105_cont_3_params.json | 2 +- .../CToken_Tests/step_105_cont_3_params.py | 2 +- .../CToken_Tests/step_105_cont_3_params.tz | 2 +- .../CToken_Tests/step_107_cont_3_params.json | 1 + .../CToken_Tests/step_107_cont_3_params.py | 1 + .../CToken_Tests/step_107_cont_3_params.tz | 1 + .../CToken_Tests/step_108_cont_3_params.json | 1 + .../CToken_Tests/step_108_cont_3_params.py | 1 + .../CToken_Tests/step_108_cont_3_params.tz | 1 + .../CToken_Tests/step_111_cont_1_params.json | 1 + .../CToken_Tests/step_111_cont_1_params.py | 1 + .../CToken_Tests/step_111_cont_1_params.tz | 1 + .../CToken_Tests/step_112_cont_3_params.json | 1 + .../CToken_Tests/step_112_cont_3_params.py | 1 + .../CToken_Tests/step_112_cont_3_params.tz | 1 + .../CToken_Tests/step_113_cont_3_params.json | 2 +- .../CToken_Tests/step_113_cont_3_params.py | 2 +- .../CToken_Tests/step_113_cont_3_params.tz | 2 +- .../CToken_Tests/step_115_cont_3_params.json | 2 +- .../CToken_Tests/step_115_cont_3_params.py | 2 +- .../CToken_Tests/step_115_cont_3_params.tz | 2 +- .../CToken_Tests/step_116_cont_1_params.json | 1 + .../CToken_Tests/step_116_cont_1_params.py | 1 + .../CToken_Tests/step_116_cont_1_params.tz | 1 + .../CToken_Tests/step_117_cont_3_params.json | 1 + .../CToken_Tests/step_117_cont_3_params.py | 1 + .../CToken_Tests/step_117_cont_3_params.tz | 1 + .../CToken_Tests/step_120_cont_3_params.json | 1 + .../CToken_Tests/step_120_cont_3_params.py | 1 + .../CToken_Tests/step_120_cont_3_params.tz | 1 + .../CToken_Tests/step_121_cont_3_params.json | 1 + .../CToken_Tests/step_121_cont_3_params.py | 1 + .../CToken_Tests/step_121_cont_3_params.tz | 1 + .../CToken_Tests/step_124_cont_3_params.json | 1 + .../CToken_Tests/step_124_cont_3_params.py | 1 + .../CToken_Tests/step_124_cont_3_params.tz | 1 + .../CToken_Tests/step_125_cont_3_params.json | 1 + .../CToken_Tests/step_125_cont_3_params.py | 1 + .../CToken_Tests/step_125_cont_3_params.tz | 1 + .../CToken_Tests/step_129_cont_3_params.json | 5 +- .../CToken_Tests/step_129_cont_3_params.py | 2 +- .../CToken_Tests/step_129_cont_3_params.tz | 2 +- .../CToken_Tests/step_132_cont_3_params.json | 4 + .../CToken_Tests/step_132_cont_3_params.py | 1 + .../CToken_Tests/step_132_cont_3_params.tz | 1 + .../CToken_Tests/step_134_cont_3_params.json | 5 +- .../CToken_Tests/step_134_cont_3_params.py | 2 +- .../CToken_Tests/step_134_cont_3_params.tz | 2 +- .../CToken_Tests/step_136_cont_3_params.json | 4 + .../CToken_Tests/step_136_cont_3_params.py | 1 + .../CToken_Tests/step_136_cont_3_params.tz | 1 + .../CToken_Tests/step_137_cont_3_params.json | 2 +- .../CToken_Tests/step_137_cont_3_params.py | 2 +- .../CToken_Tests/step_137_cont_3_params.tz | 2 +- .../CToken_Tests/step_140_cont_3_params.json | 5 +- .../CToken_Tests/step_140_cont_3_params.py | 2 +- .../CToken_Tests/step_140_cont_3_params.tz | 2 +- .../CToken_Tests/step_141_cont_3_params.json | 7 + .../CToken_Tests/step_141_cont_3_params.py | 1 + .../CToken_Tests/step_141_cont_3_params.tz | 1 + .../CToken_Tests/step_143_cont_3_params.json | 4 + .../CToken_Tests/step_143_cont_3_params.py | 1 + .../CToken_Tests/step_143_cont_3_params.tz | 1 + .../CToken_Tests/step_148_cont_3_params.json | 1 + .../CToken_Tests/step_148_cont_3_params.py | 1 + .../CToken_Tests/step_148_cont_3_params.tz | 1 + .../CToken_Tests/step_150_cont_3_params.json | 2 +- .../CToken_Tests/step_150_cont_3_params.py | 2 +- .../CToken_Tests/step_150_cont_3_params.tz | 2 +- .../CToken_Tests/step_153_cont_3_params.json | 1 + .../CToken_Tests/step_153_cont_3_params.py | 1 + .../CToken_Tests/step_153_cont_3_params.tz | 1 + .../CToken_Tests/step_155_cont_3_params.json | 2 +- .../CToken_Tests/step_155_cont_3_params.py | 2 +- .../CToken_Tests/step_155_cont_3_params.tz | 2 +- .../CToken_Tests/step_158_cont_3_params.json | 2 +- .../CToken_Tests/step_158_cont_3_params.py | 2 +- .../CToken_Tests/step_158_cont_3_params.tz | 2 +- .../CToken_Tests/step_159_cont_3_params.json | 1 + .../CToken_Tests/step_159_cont_3_params.py | 1 + .../CToken_Tests/step_159_cont_3_params.tz | 1 + .../CToken_Tests/step_161_cont_3_params.json | 1 + .../CToken_Tests/step_161_cont_3_params.py | 1 + .../CToken_Tests/step_161_cont_3_params.tz | 1 + .../CToken_Tests/step_163_cont_3_params.json | 1 + .../CToken_Tests/step_163_cont_3_params.py | 1 + .../CToken_Tests/step_163_cont_3_params.tz | 1 + .../CToken_Tests/step_165_cont_3_params.json | 1 + .../CToken_Tests/step_165_cont_3_params.py | 1 + .../CToken_Tests/step_165_cont_3_params.tz | 1 + .../CToken_Tests/step_169_cont_3_params.json | 1 + .../CToken_Tests/step_169_cont_3_params.py | 1 + .../CToken_Tests/step_169_cont_3_params.tz | 1 + .../CToken_Tests/step_171_cont_3_params.json | 1 + .../CToken_Tests/step_171_cont_3_params.py | 1 + .../CToken_Tests/step_171_cont_3_params.tz | 1 + .../CToken_Tests/step_175_cont_3_params.json | 1 + .../CToken_Tests/step_175_cont_3_params.py | 1 + .../CToken_Tests/step_175_cont_3_params.tz | 1 + .../CToken_Tests/step_177_cont_3_params.json | 1 + .../CToken_Tests/step_177_cont_3_params.py | 1 + .../CToken_Tests/step_177_cont_3_params.tz | 1 + .../CToken_Tests/step_181_cont_3_params.json | 1 + .../CToken_Tests/step_181_cont_3_params.py | 1 + .../CToken_Tests/step_181_cont_3_params.tz | 1 + .../CToken_Tests/step_183_cont_3_params.json | 2 +- .../CToken_Tests/step_183_cont_3_params.py | 2 +- .../CToken_Tests/step_183_cont_3_params.tz | 2 +- .../CToken_Tests/step_186_cont_3_params.json | 1 + .../CToken_Tests/step_186_cont_3_params.py | 1 + .../CToken_Tests/step_186_cont_3_params.tz | 1 + .../CToken_Tests/step_188_cont_3_params.json | 2 +- .../CToken_Tests/step_188_cont_3_params.py | 2 +- .../CToken_Tests/step_188_cont_3_params.tz | 2 +- .../CToken_Tests/step_191_cont_3_params.json | 1 + .../CToken_Tests/step_191_cont_3_params.py | 1 + .../CToken_Tests/step_191_cont_3_params.tz | 1 + .../CToken_Tests/step_193_cont_3_params.json | 1 + .../CToken_Tests/step_193_cont_3_params.py | 1 + .../CToken_Tests/step_193_cont_3_params.tz | 1 + .../CToken_Tests/step_195_cont_3_params.json | 1 + .../CToken_Tests/step_195_cont_3_params.py | 1 + .../CToken_Tests/step_195_cont_3_params.tz | 1 + .../CToken_Tests/step_197_cont_3_params.json | 2 +- .../CToken_Tests/step_197_cont_3_params.py | 2 +- .../CToken_Tests/step_197_cont_3_params.tz | 2 +- .../CToken_Tests/step_200_cont_3_params.json | 1 + .../CToken_Tests/step_200_cont_3_params.py | 1 + .../CToken_Tests/step_200_cont_3_params.tz | 1 + .../CToken_Tests/step_202_cont_3_params.json | 1 + .../CToken_Tests/step_202_cont_3_params.py | 1 + .../CToken_Tests/step_202_cont_3_params.tz | 1 + .../CToken_Tests/step_206_cont_3_params.json | 2 +- .../CToken_Tests/step_206_cont_3_params.py | 2 +- .../CToken_Tests/step_206_cont_3_params.tz | 2 +- .../CToken_Tests/step_209_cont_3_params.json | 1 + .../CToken_Tests/step_209_cont_3_params.py | 1 + .../CToken_Tests/step_209_cont_3_params.tz | 1 + .../CToken_Tests/step_210_cont_3_params.json | 1 + .../CToken_Tests/step_210_cont_3_params.py | 1 + .../CToken_Tests/step_210_cont_3_params.tz | 1 + .../CToken_Tests/step_211_cont_3_params.json | 2 +- .../CToken_Tests/step_211_cont_3_params.py | 2 +- .../CToken_Tests/step_211_cont_3_params.tz | 2 +- .../CToken_Tests/step_214_cont_3_params.json | 2 +- .../CToken_Tests/step_214_cont_3_params.py | 2 +- .../CToken_Tests/step_214_cont_3_params.tz | 2 +- .../CToken_Tests/step_216_cont_3_params.json | 1 + .../CToken_Tests/step_216_cont_3_params.py | 1 + .../CToken_Tests/step_216_cont_3_params.tz | 1 + .../CToken_Tests/step_217_cont_3_params.json | 1 + .../CToken_Tests/step_217_cont_3_params.py | 1 + .../CToken_Tests/step_217_cont_3_params.tz | 1 + TezFinTest/Exponential_Tests/log.html | 984 ++- TezFinTest/Exponential_Tests/log.txt | 247 +- .../step_003_cont_0_contract.json | 496 ++ .../step_003_cont_0_contract.py | 144 + .../step_003_cont_0_contract.py.html | 2034 +++++ .../step_003_cont_0_contract.tz | 421 ++ .../step_003_cont_0_sizes.csv | 2 + .../step_003_cont_0_storage.json | 1 + .../step_003_cont_0_storage.py | 1 + .../step_003_cont_0_storage.tz | 1 + .../step_003_cont_0_types.py | 6 + .../step_006_cont_0_params.json | 1 + .../step_006_cont_0_params.py | 1 + .../step_006_cont_0_params.tz | 1 + .../step_009_cont_0_params.json | 6 + .../step_009_cont_0_params.py | 1 + .../step_009_cont_0_params.tz | 1 + .../step_012_cont_0_params.json | 1 + .../step_012_cont_0_params.py | 1 + .../step_012_cont_0_params.tz | 1 + .../step_016_cont_0_params.json | 1 + .../step_016_cont_0_params.py | 1 + .../step_016_cont_0_params.tz | 1 + .../step_019_cont_0_params.json | 1 + .../step_019_cont_0_params.py | 1 + .../step_019_cont_0_params.tz | 1 + .../step_021_cont_0_params.json | 1 + .../step_021_cont_0_params.py | 1 + .../step_021_cont_0_params.tz | 1 + .../step_025_cont_0_params.json | 1 + .../step_025_cont_0_params.py | 1 + .../step_025_cont_0_params.tz | 1 + .../step_028_cont_0_params.json | 6 + .../step_028_cont_0_params.py | 1 + .../step_028_cont_0_params.tz | 1 + .../step_031_cont_0_params.json | 1 + .../step_031_cont_0_params.py | 1 + .../step_031_cont_0_params.tz | 1 + .../step_034_cont_0_params.json | 1 + .../step_034_cont_0_params.py | 1 + .../step_034_cont_0_params.tz | 1 + .../step_038_cont_0_params.json | 1 + .../step_038_cont_0_params.py | 1 + .../step_038_cont_0_params.tz | 1 + .../step_041_cont_0_params.json | 1 + .../step_041_cont_0_params.py | 1 + .../step_041_cont_0_params.tz | 1 + .../step_044_cont_0_params.json | 1 + .../step_044_cont_0_params.py | 1 + .../step_044_cont_0_params.tz | 1 + .../step_046_cont_0_params.json | 1 + .../step_046_cont_0_params.py | 1 + .../step_046_cont_0_params.tz | 1 + .../step_049_cont_0_params.json | 1 + .../step_049_cont_0_params.py | 1 + .../step_049_cont_0_params.tz | 1 + .../step_051_cont_0_params.json | 1 + .../step_051_cont_0_params.py | 1 + .../step_051_cont_0_params.tz | 1 + .../step_054_cont_0_params.json | 1 + .../step_054_cont_0_params.py | 1 + .../step_054_cont_0_params.tz | 1 + .../step_056_cont_0_params.json | 2 +- .../step_056_cont_0_params.py | 2 +- .../step_056_cont_0_params.tz | 2 +- .../step_058_cont_0_params.json | 1 + .../step_058_cont_0_params.py | 1 + .../step_058_cont_0_params.tz | 1 + .../step_061_cont_0_params.json | 1 + .../step_061_cont_0_params.py | 1 + .../step_061_cont_0_params.tz | 1 + .../step_064_cont_0_params.json | 1 + .../step_064_cont_0_params.py | 1 + .../step_064_cont_0_params.tz | 1 + .../step_067_cont_0_params.json | 1 + .../step_067_cont_0_params.py | 1 + .../step_067_cont_0_params.tz | 1 + .../step_070_cont_0_params.json | 1 + .../step_070_cont_0_params.py | 1 + .../step_070_cont_0_params.tz | 1 + .../step_074_cont_0_params.json | 1 + .../step_074_cont_0_params.py | 1 + .../step_074_cont_0_params.tz | 1 + .../step_077_cont_0_params.json | 1 + .../step_077_cont_0_params.py | 1 + .../step_077_cont_0_params.tz | 1 + .../step_081_cont_0_params.json | 1 + .../step_081_cont_0_params.py | 1 + .../step_081_cont_0_params.tz | 1 + .../step_084_cont_0_params.json | 1 + .../step_084_cont_0_params.py | 1 + .../step_084_cont_0_params.tz | 1 + .../step_087_cont_0_params.json | 1 + .../step_087_cont_0_params.py | 1 + .../step_087_cont_0_params.tz | 1 + .../step_091_cont_0_params.json | 1 + .../step_091_cont_0_params.py | 1 + .../step_091_cont_0_params.tz | 1 + .../step_094_cont_0_params.json | 1 + .../step_094_cont_0_params.py | 1 + .../step_094_cont_0_params.tz | 1 + .../step_097_cont_0_params.json | 1 + .../step_097_cont_0_params.py | 1 + .../step_097_cont_0_params.tz | 1 + .../step_101_cont_0_params.json | 1 + .../step_101_cont_0_params.py | 1 + .../step_101_cont_0_params.tz | 1 + .../step_104_cont_0_params.json | 1 + .../step_104_cont_0_params.py | 1 + .../step_104_cont_0_params.tz | 1 + .../step_107_cont_0_params.json | 1 + .../step_107_cont_0_params.py | 1 + .../step_107_cont_0_params.tz | 1 + TezFinTest/scenario.json | 1627 +++- TezFinTest/script_init.py | 301 +- TezFinTest/script_pure.py | 301 +- contracts/tests/CTokenTest.py | 6 +- contracts/tests/ExponentialTest.py | 14 + 462 files changed, 32849 insertions(+), 4269 deletions(-) create mode 100644 TezFinTest/CToken_Tests/step_006_cont_0_contract.json create mode 100644 TezFinTest/CToken_Tests/step_006_cont_0_contract.py create mode 100644 TezFinTest/CToken_Tests/step_006_cont_0_contract.py.html create mode 100644 TezFinTest/CToken_Tests/step_006_cont_0_contract.tz create mode 100644 TezFinTest/CToken_Tests/step_006_cont_0_sizes.csv create mode 100644 TezFinTest/CToken_Tests/step_006_cont_0_storage.json create mode 100644 TezFinTest/CToken_Tests/step_006_cont_0_storage.py create mode 100644 TezFinTest/CToken_Tests/step_006_cont_0_storage.tz create mode 100644 TezFinTest/CToken_Tests/step_006_cont_0_types.py create mode 100644 TezFinTest/CToken_Tests/step_007_cont_1_contract.json create mode 100644 TezFinTest/CToken_Tests/step_007_cont_1_contract.py create mode 100644 TezFinTest/CToken_Tests/step_007_cont_1_contract.py.html create mode 100644 TezFinTest/CToken_Tests/step_007_cont_1_contract.tz create mode 100644 TezFinTest/CToken_Tests/step_007_cont_1_sizes.csv create mode 100644 TezFinTest/CToken_Tests/step_007_cont_1_storage.json create mode 100644 TezFinTest/CToken_Tests/step_007_cont_1_storage.py create mode 100644 TezFinTest/CToken_Tests/step_007_cont_1_storage.tz create mode 100644 TezFinTest/CToken_Tests/step_007_cont_1_types.py create mode 100644 TezFinTest/CToken_Tests/step_008_cont_2_contract.json create mode 100644 TezFinTest/CToken_Tests/step_008_cont_2_contract.py create mode 100644 TezFinTest/CToken_Tests/step_008_cont_2_contract.py.html create mode 100644 TezFinTest/CToken_Tests/step_008_cont_2_contract.tz create mode 100644 TezFinTest/CToken_Tests/step_008_cont_2_sizes.csv create mode 100644 TezFinTest/CToken_Tests/step_008_cont_2_storage.json create mode 100644 TezFinTest/CToken_Tests/step_008_cont_2_storage.py create mode 100644 TezFinTest/CToken_Tests/step_008_cont_2_storage.tz create mode 100644 TezFinTest/CToken_Tests/step_008_cont_2_types.py create mode 100644 TezFinTest/CToken_Tests/step_009_cont_3_contract.json create mode 100644 TezFinTest/CToken_Tests/step_009_cont_3_contract.py create mode 100644 TezFinTest/CToken_Tests/step_009_cont_3_contract.py.html create mode 100644 TezFinTest/CToken_Tests/step_009_cont_3_contract.tz create mode 100644 TezFinTest/CToken_Tests/step_009_cont_3_sizes.csv create mode 100644 TezFinTest/CToken_Tests/step_009_cont_3_storage.json create mode 100644 TezFinTest/CToken_Tests/step_009_cont_3_storage.py create mode 100644 TezFinTest/CToken_Tests/step_009_cont_3_storage.tz create mode 100644 TezFinTest/CToken_Tests/step_009_cont_3_types.py create mode 100644 TezFinTest/CToken_Tests/step_011_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_011_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_011_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_013_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_013_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_013_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_020_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_020_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_020_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_026_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_026_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_026_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_028_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_028_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_028_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_030_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_030_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_030_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_031_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_031_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_031_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_032_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_032_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_032_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_035_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_035_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_035_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_038_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_038_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_038_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_039_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_039_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_039_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_040_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_040_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_040_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_042_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_042_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_042_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_044_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_044_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_044_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_048_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_048_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_048_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_049_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_049_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_049_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_050_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_050_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_050_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_053_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_053_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_053_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_054_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_054_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_054_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_055_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_055_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_055_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_060_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_060_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_060_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_061_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_061_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_061_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_063_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_063_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_063_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_067_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_067_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_067_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_068_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_068_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_068_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_070_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_070_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_070_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_072_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_072_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_072_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_077_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_077_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_077_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_078_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_078_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_078_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_079_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_079_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_079_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_081_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_081_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_081_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_082_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_082_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_082_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_083_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_083_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_083_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_084_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_084_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_084_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_089_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_089_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_089_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_090_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_090_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_090_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_091_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_091_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_091_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_094_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_094_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_094_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_095_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_095_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_095_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_099_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_099_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_099_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_101_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_101_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_101_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_107_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_107_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_107_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_108_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_108_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_108_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_111_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_111_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_111_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_112_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_112_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_112_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_116_cont_1_params.json create mode 100644 TezFinTest/CToken_Tests/step_116_cont_1_params.py create mode 100644 TezFinTest/CToken_Tests/step_116_cont_1_params.tz create mode 100644 TezFinTest/CToken_Tests/step_117_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_117_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_117_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_120_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_120_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_120_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_121_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_121_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_121_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_124_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_124_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_124_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_125_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_125_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_125_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_132_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_132_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_132_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_136_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_136_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_136_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_141_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_141_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_141_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_143_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_143_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_143_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_148_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_148_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_148_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_153_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_153_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_153_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_159_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_159_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_159_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_161_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_161_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_161_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_163_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_163_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_163_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_165_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_165_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_165_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_169_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_169_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_169_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_171_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_171_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_171_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_175_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_175_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_175_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_177_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_177_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_177_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_181_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_181_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_181_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_186_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_186_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_186_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_191_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_191_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_191_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_193_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_193_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_193_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_195_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_195_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_195_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_200_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_200_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_200_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_202_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_202_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_202_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_209_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_209_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_209_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_210_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_210_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_210_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_216_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_216_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_216_cont_3_params.tz create mode 100644 TezFinTest/CToken_Tests/step_217_cont_3_params.json create mode 100644 TezFinTest/CToken_Tests/step_217_cont_3_params.py create mode 100644 TezFinTest/CToken_Tests/step_217_cont_3_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_003_cont_0_contract.json create mode 100644 TezFinTest/Exponential_Tests/step_003_cont_0_contract.py create mode 100644 TezFinTest/Exponential_Tests/step_003_cont_0_contract.py.html create mode 100644 TezFinTest/Exponential_Tests/step_003_cont_0_contract.tz create mode 100644 TezFinTest/Exponential_Tests/step_003_cont_0_sizes.csv create mode 100644 TezFinTest/Exponential_Tests/step_003_cont_0_storage.json create mode 100644 TezFinTest/Exponential_Tests/step_003_cont_0_storage.py create mode 100644 TezFinTest/Exponential_Tests/step_003_cont_0_storage.tz create mode 100644 TezFinTest/Exponential_Tests/step_003_cont_0_types.py create mode 100644 TezFinTest/Exponential_Tests/step_006_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_006_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_006_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_009_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_009_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_009_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_012_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_012_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_012_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_016_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_016_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_016_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_019_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_019_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_019_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_021_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_021_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_021_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_025_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_025_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_025_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_028_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_028_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_028_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_031_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_031_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_031_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_034_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_034_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_034_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_038_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_038_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_038_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_041_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_041_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_041_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_044_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_044_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_044_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_046_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_046_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_046_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_049_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_049_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_049_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_051_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_051_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_051_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_054_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_054_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_054_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_058_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_058_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_058_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_061_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_061_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_061_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_064_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_064_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_064_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_067_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_067_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_067_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_070_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_070_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_070_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_074_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_074_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_074_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_077_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_077_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_077_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_081_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_081_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_081_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_084_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_084_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_084_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_087_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_087_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_087_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_091_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_091_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_091_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_094_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_094_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_094_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_097_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_097_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_097_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_101_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_101_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_101_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_104_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_104_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_104_cont_0_params.tz create mode 100644 TezFinTest/Exponential_Tests/step_107_cont_0_params.json create mode 100644 TezFinTest/Exponential_Tests/step_107_cont_0_params.py create mode 100644 TezFinTest/Exponential_Tests/step_107_cont_0_params.tz diff --git a/TezFinTest/CToken_Tests/log.html b/TezFinTest/CToken_Tests/log.html index 9c2a18eb..f36fbd48 100644 --- a/TezFinTest/CToken_Tests/log.html +++ b/TezFinTest/CToken_Tests/log.html @@ -1,4 +1,4 @@ -

  • CToken tests

    +
    +

  • CToken tests

    - +

    CToken tests

    - +

    Accounts

    @@ -2095,7 +1919,7 @@

    Accounts

    Seed
    'Bob'tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9CedpkufVmvzkm4oFQ7WcF5NJbq9BFB2mWRsm4Dyh2spMDuDxWSQWHuTtz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9CedskRq1xuW7TCYzdFm1JQLi1Hz4MNDVP6ukQHVEEh3bVqyuzv7pXXjaGsXZuMbwtd3kQFp3LQ7GQzkLeprNEijKhQKzsxrYrUz
    'admin'tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5edpkthtmpNV7DzPgvsU5ktVkfYbARpb2nzDbncU8mdbMeXGRhGTjN7tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5edskRjPeZkNsmeJ8aAzs5vyXVhP7DVRvG6nM1ReNfjzkR3h6ykbf71mPxQyE5HU9FHrV3EdrY4GVCSBWhU44v6bnhQGrKM9Cs8
    - +

    Contracts

    Contract

    New contract: KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    Balance: 0.000000tz

    @@ -2106,14 +1930,16 @@

    Code:



    class Contract(sp.Contract):
    def __init__(self):
      self.init_type(sp.TRecord(last = sp.TOption(sp.TNat)).layout("last"))
    -
      self.init(last = sp.none)

    +
      self.init(last = sp.none)


    - @sp.entry_point + @sp.entrypoint
    def target(self, params):
      self.data.last = sp.some(params)

    - @sp.entry_point + @sp.entrypoint
    def targetNat(self, params):
      sp.set_type(params, sp.TNat) -
      self.data.last = sp.some(params)
  • +
      self.data.last = sp.some(params) +
    +
    sp.add_compilation_target("test", Contract())
    Contract

    New contract: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    Balance: 0.000000tz

    Storage:

    @@ -2125,230 +1951,249 @@

    Code:



    class Contract(sp.Contract):
    def __init__(self):
      self.init_type(sp.TRecord(borrow_allowed = sp.TBool, mint_allowed = sp.TBool, redeem_allowed = sp.TBool, repay_borrow_allowed = sp.TBool).layout((("borrow_allowed", "mint_allowed"), ("redeem_allowed", "repay_borrow_allowed"))))
    -
      self.init(borrow_allowed = True,
                mint_allowed = True,
                redeem_allowed = True,
                repay_borrow_allowed = True)

    +
      self.init(borrow_allowed = True,
                mint_allowed = True,
                redeem_allowed = True,
                repay_borrow_allowed = True)


    - @sp.entry_point + @sp.entrypoint
    def acceptGovernance(self, params):
      sp.set_type(params, sp.TAddress)

    - @sp.entry_point + @sp.entrypoint
    def borrowAllowed(self, params):
      sp.set_type(params, sp.TRecord(borrowAmount = sp.TNat, borrower = sp.TAddress, cToken = sp.TAddress).layout(("cToken", ("borrower", "borrowAmount"))))
      sp.verify(self.data.borrow_allowed)

    - @sp.entry_point + @sp.entrypoint
    def disableMarket(self, params):
      sp.set_type(params, sp.TUnit)

    - @sp.entry_point + @sp.entrypoint
    def enterMarkets(self, params):
      sp.set_type(params, sp.TUnit)

    - @sp.entry_point + @sp.entrypoint
    def exitMarket(self, params):
      sp.set_type(params, sp.TUnit)

    - @sp.entry_point + @sp.entrypoint
    def getHypoAccountLiquidity(self, params):
      sp.set_type(params, sp.TUnit)

    - @sp.entry_point + @sp.entrypoint
    def mintAllowed(self, params):
      sp.set_type(params, sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount"))))
      sp.verify(self.data.mint_allowed)

    - @sp.entry_point + @sp.entrypoint
    def redeemAllowed(self, params):
      sp.set_type(params, sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))))
      sp.verify(self.data.redeem_allowed)

    - @sp.entry_point + @sp.entrypoint +
    def removeFromLoans(self, params):
      sp.set_type(params, sp.TAddress)
    +
    + @sp.entrypoint
    def repayBorrowAllowed(self, params):
      sp.set_type(params, sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))))
      sp.verify(self.data.repay_borrow_allowed)

    - @sp.entry_point + @sp.entrypoint
    def setBorrowAllowed(self, params):
      self.data.borrow_allowed = params

    - @sp.entry_point + @sp.entrypoint
    def setBorrowPaused(self, params):
      sp.set_type(params, sp.TUnit)

    - @sp.entry_point + @sp.entrypoint
    def setCloseFactor(self, params):
      sp.set_type(params, sp.TUnit)

    - @sp.entry_point + @sp.entrypoint
    def setCollateralFactor(self, params):
      sp.set_type(params, sp.TUnit)

    - @sp.entry_point + @sp.entrypoint
    def setLiquidationIncentive(self, params):
      sp.set_type(params, sp.TUnit)

    - @sp.entry_point + @sp.entrypoint
    def setLiquidityPeriodRelevance(self, params):
      sp.set_type(params, sp.TNat)

    - @sp.entry_point -
    def setMarketBorrowCap(self, params):
      sp.set_type(params, sp.TUnit)
    -
    - @sp.entry_point + @sp.entrypoint
    def setMintAllowed(self, params):
      self.data.mint_allowed = params

    - @sp.entry_point + @sp.entrypoint
    def setMintPaused(self, params):
      sp.set_type(params, sp.TUnit)

    - @sp.entry_point + @sp.entrypoint
    def setPendingGovernance(self, params):
      sp.set_type(params, sp.TAddress)

    - @sp.entry_point -
    def setPriceOracle(self, params):
      sp.set_type(params, sp.TUnit)
    + @sp.entrypoint +
    def setPriceOracleAndTimeDiff(self, params):
      sp.set_type(params, sp.TUnit)

    - @sp.entry_point + @sp.entrypoint
    def setPricePeriodRelevance(self, params):
      sp.set_type(params, sp.TNat)

    - @sp.entry_point + @sp.entrypoint
    def setRedeemAllowed(self, params):
      self.data.redeem_allowed = params

    - @sp.entry_point + @sp.entrypoint
    def setRepayBorrowAllowed(self, params):
      self.data.repay_borrow_allowed = params

    - @sp.entry_point + @sp.entrypoint
    def setTransferPaused(self, params):
      sp.set_type(params, sp.TUnit)

    - @sp.entry_point + @sp.entrypoint
    def supportMarket(self, params):
      sp.set_type(params, sp.TUnit)

    - @sp.entry_point + @sp.entrypoint
    def transferAllowed(self, params):
      sp.set_type(params, sp.TRecord(cToken = sp.TAddress, dst = sp.TAddress, src = sp.TAddress, transferTokens = sp.TNat).layout((("cToken", "src"), ("dst", "transferTokens"))))

    - @sp.entry_point + @sp.entrypoint
    def updateAccountLiquidity(self, params):
      sp.set_type(params, sp.TAddress)

    - @sp.entry_point -
    def updateAssetPrice(self, params):
      sp.set_type(params, sp.TAddress)
    Borrow_allowed
    Storage:
    14 Bytes
    Code:
    1962 Bytes
    + @sp.entrypoint +
    def updateAssetPrice(self, params):
      sp.set_type(params, sp.TAddress)
    +
    +
    sp.add_compilation_target("test", Contract())
    Contract

    New contract: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    Balance: 0.000000tz

    Storage:

    -
    BorrowRateSupplyRate
    +SupplyRate

    Code:

    import smartpy as sp

    class Contract(sp.Contract):
    def __init__(self):
      self.init_type(sp.TRecord(borrowRate = sp.TNat, supplyRate = sp.TNat).layout(("borrowRate", "supplyRate")))
    -
      self.init(borrowRate = 840000000000,
                supplyRate = 180000000000)

    +
      self.init(borrowRate = 80000000000,
                supplyRate = 180000000000)


    - @sp.entry_point + @sp.entrypoint
    def getBorrowRate(self, params):
      sp.set_type(params, sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))))
      sp.transfer(self.data.borrowRate, sp.tez(0), params.cb)

    - @sp.entry_point + @sp.entrypoint
    def getSupplyRate(self, params):
      sp.set_type(params, sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))))
      sp.transfer(self.data.supplyRate, sp.tez(0), params.cb)

    - @sp.entry_point + @sp.entrypoint
    def setBorrowRate(self, params):
      sp.set_type(params, sp.TNat)
      self.data.borrowRate = params

    - @sp.entry_point + @sp.entrypoint
    def setSupplyRate(self, params):
      sp.set_type(params, sp.TNat) -
      self.data.supplyRate = params
    +
      self.data.supplyRate = params +
    +
    sp.add_compilation_target("test", Contract())
    Contract

    New contract: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + +
    KeyInterestIndexPrincipal
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    +
    Balance
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e

    Code:

    import smartpy as sp

    class Contract(sp.Contract): -
    def __init__(self):
      self.init_type(sp.TRecord(accBorrowBalance = sp.TNat, accCTokenBalance = sp.TNat, accExchangeRateMantissa = sp.TNat, accrualBlockNumber = sp.TNat, accrualIntPeriodRelevance = sp.TNat, activeOperations = sp.TSet(sp.TNat), administrator = sp.TAddress, balances = sp.TBigMap(sp.TAddress, sp.TRecord(accountBorrows = sp.TRecord(interestIndex = sp.TNat, principal = sp.TNat).layout(("interestIndex", "principal")), approvals = sp.TMap(sp.TAddress, sp.TNat), balance = sp.TNat).layout(("accountBorrows", ("approvals", "balance")))), borrowIndex = sp.TNat, borrowRateMaxMantissa = sp.TNat, borrowRatePerBlock = sp.TNat, comptroller = sp.TAddress, expScale = sp.TNat, halfExpScale = sp.TNat, initialExchangeRateMantissa = sp.TNat, interestRateModel = sp.TAddress, isAccrualInterestValid = sp.TBool, pendingAdministrator = sp.TOption(sp.TAddress), reserveFactorMantissa = sp.TNat, reserveFactorMaxMantissa = sp.TNat, supplyRatePerBlock = sp.TNat, totalBorrows = sp.TNat, totalReserves = sp.TNat, totalSupply = sp.TNat).layout((((("accBorrowBalance", ("accCTokenBalance", "accExchangeRateMantissa")), ("accrualBlockNumber", ("accrualIntPeriodRelevance", "activeOperations"))), (("administrator", ("balances", "borrowIndex")), ("borrowRateMaxMantissa", ("borrowRatePerBlock", "comptroller")))), ((("expScale", ("halfExpScale", "initialExchangeRateMantissa")), ("interestRateModel", ("isAccrualInterestValid", "pendingAdministrator"))), (("reserveFactorMantissa", ("reserveFactorMaxMantissa", "supplyRatePerBlock")), ("totalBorrows", ("totalReserves", "totalSupply")))))))
    -
      self.init(accBorrowBalance = 0,
                accCTokenBalance = 0,
                accExchangeRateMantissa = 0,
                accrualBlockNumber = 0,
                accrualIntPeriodRelevance = 5,
                activeOperations = sp.set([]),
                administrator = sp.address('tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5'),
                balances = {},
                borrowIndex = 1000000000000000000,
                borrowRateMaxMantissa = 5000000000000,
                borrowRatePerBlock = 0,
                comptroller = sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF'),
                expScale = 1000000000000000000,
                halfExpScale = 500000000000000000,
                initialExchangeRateMantissa = 1000000000000,
                interestRateModel = sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H'),
                isAccrualInterestValid = False,
                pendingAdministrator = sp.none,
                reserveFactorMantissa = 0,
                reserveFactorMaxMantissa = 1000000000000000000,
                supplyRatePerBlock = 0,
                totalBorrows = 0,
                totalReserves = 0,
                totalSupply = 0)

    +
    def __init__(self):
      self.init_type(sp.TRecord(accBorrowBalance = sp.TNat, accCTokenBalance = sp.TNat, accExchangeRateMantissa = sp.TNat, accrualBlockNumber = sp.TNat, activeOperations = sp.TSet(sp.TNat), administrator = sp.TAddress, borrowIndex = sp.TNat, borrowRateMaxMantissa = sp.TNat, borrowRatePerBlock = sp.TNat, borrows = sp.TBigMap(sp.TAddress, sp.TRecord(interestIndex = sp.TNat, principal = sp.TNat).layout(("interestIndex", "principal"))), comptroller = sp.TAddress, expScale = sp.TNat, halfExpScale = sp.TNat, initialExchangeRateMantissa = sp.TNat, interestRateModel = sp.TAddress, ledger = sp.TBigMap(sp.TAddress, sp.TRecord(approvals = sp.TMap(sp.TAddress, sp.TNat), balance = sp.TNat).layout(("approvals", "balance"))), metadata = sp.TBigMap(sp.TString, sp.TBytes), pendingAdministrator = sp.TOption(sp.TAddress), protocolSeizeShareMantissa = sp.TNat, reserveFactorMantissa = sp.TNat, reserveFactorMaxMantissa = sp.TNat, supplyRatePerBlock = sp.TNat, token_metadata = sp.TBigMap(sp.TNat, sp.TRecord(token_id = sp.TNat, token_info = sp.TMap(sp.TString, sp.TBytes)).layout(("token_id", "token_info"))), totalBorrows = sp.TNat, totalReserves = sp.TNat, totalSupply = sp.TNat).layout((((("accBorrowBalance", ("accCTokenBalance", "accExchangeRateMantissa")), ("accrualBlockNumber", ("activeOperations", "administrator"))), (("borrowIndex", ("borrowRateMaxMantissa", "borrowRatePerBlock")), (("borrows", "comptroller"), ("expScale", "halfExpScale")))), ((("initialExchangeRateMantissa", ("interestRateModel", "ledger")), ("metadata", ("pendingAdministrator", "protocolSeizeShareMantissa"))), (("reserveFactorMantissa", ("reserveFactorMaxMantissa", "supplyRatePerBlock")), (("token_metadata", "totalBorrows"), ("totalReserves", "totalSupply")))))))
    +
      self.init(accBorrowBalance = 0,
                accCTokenBalance = 0,
                accExchangeRateMantissa = 0,
                accrualBlockNumber = 0,
                activeOperations = sp.set([]),
                administrator = sp.address('tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5'),
                borrowIndex = 1000000000000000000,
                borrowRateMaxMantissa = 800000000000,
                borrowRatePerBlock = 0,
                borrows = {},
                comptroller = sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF'),
                expScale = 1000000000000000000,
                halfExpScale = 500000000000000000,
                initialExchangeRateMantissa = 1000000000000,
                interestRateModel = sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H'),
                ledger = {},
                metadata = {'' : sp.bytes('0x74657a6f732d73746f726167653a64617461'), 'data' : sp.bytes('0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d')},
                pendingAdministrator = sp.none,
                protocolSeizeShareMantissa = 100000000000000,
                reserveFactorMantissa = 50000000000000000,
                reserveFactorMaxMantissa = 1000000000000000000,
                supplyRatePerBlock = 0,
                token_metadata = {0 : sp.record(token_id = 0, token_info = {'decimals' : sp.bytes('0x78'), 'name' : sp.bytes('0x436f6d706f756e6420746f6b656e'), 'symbol' : sp.bytes('0x63546f6b656e')})},
                totalBorrows = 0,
                totalReserves = 0,
                totalSupply = 0)


    - @sp.entry_point + @sp.entrypoint
    def acceptGovernance(self, params):
      sp.set_type(params, sp.TUnit)
      sp.verify(sp.sender == self.data.pendingAdministrator.open_some(message = 'CT_NOT_SET_PENDING_ADMIN'), 'CT_NOT_PENDING_ADMIN')
      self.data.administrator = self.data.pendingAdministrator.open_some()
      self.data.pendingAdministrator = sp.none

    - @sp.entry_point + @sp.entrypoint
    def accrueInterest(self, params):
      sp.set_type(params, sp.TUnit) -
      sp.if self.data.accrualBlockNumber == 0: -
        self.data.accrualBlockNumber = sp.level
      sp.if sp.level != self.data.accrualBlockNumber: -
        self.data.activeOperations.add(8) -
        sp.transfer(sp.record(borrows = self.data.totalBorrows, cash = self.data.totalSupply // 1000000, cb = sp.self_entry_point('doAccrueInterest'), reserves = self.data.totalReserves), sp.tez(0), sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), self.data.interestRateModel, entry_point='getBorrowRate').open_some()) -
      self.data.isAccrualInterestValid = True
    +
        sp.if self.data.accrualBlockNumber == 0: +
          self.data.accrualBlockNumber = sp.level +
        sp.else: +
          self.data.activeOperations.add(8) +
          sp.transfer(sp.self_entrypoint('doAccrueInterest'), sp.tez(0), sp.contract(sp.TContract(sp.TNat), sp.self_address, entrypoint='accrueInterestInternal').open_some())
    +
    + @sp.entrypoint +
    def accrueInterestInternal(self, params):
      sp.set_type(params, sp.TContract(sp.TNat)) +
      sp.verify(sp.sender == sp.self_address, 'CT_INTERNAL_FUNCTION') +
      sp.transfer(sp.record(borrows = self.data.totalBorrows, cash = self.data.totalSupply // 1000000, cb = params, reserves = self.data.totalReserves), sp.tez(0), sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), self.data.interestRateModel, entrypoint='getBorrowRate').open_some())

    - @sp.entry_point + @sp.entrypoint
    def addReserves(self, params):
      sp.set_type(params, sp.TNat)
      sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL')
      sp.verify(sp.len(self.data.activeOperations) == 0, 'OP_IN_PROGRESS')
      self.data.activeOperations.add(11) -
      sp.transfer(sp.unit, sp.tez(0), sp.self_entry_point('accrueInterest')) -
      sp.transfer(sp.record(addAmount = params, originalSender = sp.sender), sp.amount, sp.self_entry_point('addReservesInternal'))
    +
      sp.transfer(sp.unit, sp.tez(0), sp.self_entrypoint('accrueInterest')) +
      sp.transfer(sp.record(addAmount = params, originalSender = sp.sender), sp.amount, sp.self_entrypoint('addReservesInternal'))

    - @sp.entry_point + @sp.entrypoint
    def addReservesInternal(self, params):
      sp.verify(sp.sender == sp.self_address, 'CT_INTERNAL_FUNCTION')
      sp.verify(self.data.activeOperations.contains(11), 'OP_NOT_ACTIVE')
      self.data.activeOperations.remove(11) -
      sp.set_type(sp.level, sp.TNat) -
      sp.set_type(self.data.accrualBlockNumber, sp.TNat) -
      compute_CToken_730 = sp.local("compute_CToken_730", sp.as_nat(sp.level - self.data.accrualBlockNumber, message = 'SUBTRACTION_UNDERFLOW')) -
      sp.verify(compute_CToken_730.value < self.data.accrualIntPeriodRelevance, 'CT_INTEREST_OLD') -
      sp.verify(self.data.isAccrualInterestValid, 'CT_INTEREST_INVALID') -
      self.data.totalReserves += params.addAmount -
      self.data.isAccrualInterestValid = False
    +
      sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') +
      self.data.totalReserves += params.addAmount
    - @sp.entry_point + @sp.entrypoint
    def approve(self, params):
      sp.set_type(params, sp.TRecord(spender = sp.TAddress, value = sp.TNat).layout(("spender", "value")))
      sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') -
      sp.verify((self.data.balances[sp.sender].approvals.get(params.spender, default_value = 0) == 0) | (params.value == 0), 'CT_UNSAFE_ALLOWANCE_CHANGE') -
      self.data.balances[sp.sender].approvals[params.spender] = params.value
    +
      sp.verify((self.data.ledger[sp.sender].approvals.contains(params.spender)) | (sp.len(self.data.ledger[sp.sender].approvals) < 1000), 'FA1.2_MaxApprovalsReached') +
      sp.verify((self.data.ledger[sp.sender].approvals.get(params.spender, default_value = 0) == 0) | (params.value == 0), 'FA1.2_UnsafeAllowanceChange') +
      sp.if params.value == 0: +
        del self.data.ledger[sp.sender].approvals[params.spender] +
      sp.else: +
        self.data.ledger[sp.sender].approvals[params.spender] = params.value
    - @sp.entry_point + @sp.entrypoint
    def borrow(self, params):
      sp.set_type(params, sp.TNat)
      sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') -
      sp.if ~ (self.data.balances.contains(sp.sender)): -
        self.data.balances[sp.sender] = sp.record(accountBorrows = sp.record(interestIndex = 0, principal = 0), approvals = {}, balance = 0) -
      sp.transfer(sp.record(cToken = sp.self_address, borrower = sp.sender, borrowAmount = params), sp.tez(0), sp.contract(sp.TRecord(borrowAmount = sp.TNat, borrower = sp.TAddress, cToken = sp.TAddress).layout(("cToken", ("borrower", "borrowAmount"))), self.data.comptroller, entry_point='borrowAllowed').open_some()) +
      sp.if ~ (self.data.ledger.contains(sp.sender)): +
        self.data.ledger[sp.sender] = sp.record(approvals = {}, balance = 0) +
      sp.if ~ (self.data.borrows.contains(sp.sender)): +
        self.data.borrows[sp.sender] = sp.record(interestIndex = 0, principal = 0) +
      sp.transfer(sp.record(borrowAmount = params, borrower = sp.sender, cToken = sp.self_address), sp.tez(0), sp.contract(sp.TRecord(borrowAmount = sp.TNat, borrower = sp.TAddress, cToken = sp.TAddress).layout(("cToken", ("borrower", "borrowAmount"))), self.data.comptroller, entrypoint='borrowAllowed').open_some())
      sp.verify((self.data.totalSupply // 1000000) >= params, 'CT_INSUFFICIENT_CASH') -
      sp.set_type(sp.level, sp.TNat) -
      sp.set_type(self.data.accrualBlockNumber, sp.TNat) -
      compute_CToken_730 = sp.local("compute_CToken_730", sp.as_nat(sp.level - self.data.accrualBlockNumber, message = 'SUBTRACTION_UNDERFLOW')) -
      sp.verify(compute_CToken_730.value < self.data.accrualIntPeriodRelevance, 'CT_INTEREST_OLD') -
      sp.verify(self.data.isAccrualInterestValid, 'CT_INTEREST_INVALID') -
      borrowSnapshot = sp.local("borrowSnapshot", self.data.balances[sp.sender].accountBorrows) +
      sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD')
      borrowBalance = sp.local("borrowBalance", 0) -
      sp.if borrowSnapshot.value.principal > 0: -
        borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex -
      self.data.balances[sp.sender].accountBorrows.principal = borrowBalance.value + params -
      self.data.balances[sp.sender].accountBorrows.interestIndex = self.data.borrowIndex -
      self.data.totalBorrows += borrowBalance.value + params -
      self.data.isAccrualInterestValid = False
    +
      sp.if self.data.borrows.contains(sp.sender): +
        borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[sp.sender]) +
        sp.if borrowSnapshot.value.principal > 0: +
          borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex +
      self.data.borrows[sp.sender].principal = borrowBalance.value + params +
      self.data.borrows[sp.sender].interestIndex = self.data.borrowIndex +
      self.data.totalBorrows += params
    - @sp.entry_point -
    def borrowBalanceStored(self, params):
      sp.set_type(sp.fst(params), sp.TAddress) -
      borrowSnapshot = sp.local("borrowSnapshot", self.data.balances[sp.fst(params)].accountBorrows) -
      borrowBalance = sp.local("borrowBalance", 0) -
      sp.if borrowSnapshot.value.principal > 0: -
        borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex -
      __s1 = sp.local("__s1", borrowBalance.value) + @sp.entrypoint +
    def borrowBalanceStored(self, params):
      __s1 = sp.bind_block("__s1"): +
      with __s1: +
        sp.set_type(sp.fst(params), sp.TAddress) +
        borrowBalance = sp.local("borrowBalance", 0) +
        sp.if self.data.borrows.contains(sp.fst(params)): +
          borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[sp.fst(params)]) +
          sp.if borrowSnapshot.value.principal > 0: +
            borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex +
        sp.result(borrowBalance.value)
      sp.set_type(sp.snd(params), sp.TContract(sp.TNat))
      sp.transfer(__s1.value, sp.tez(0), sp.snd(params))

    - @sp.entry_point + @sp.entrypoint
    def doAccrueInterest(self, params):
      sp.set_type(params, sp.TNat)
      sp.verify(sp.sender == self.data.interestRateModel, 'CT_SENDER_NOT_IRM')
      sp.verify(self.data.activeOperations.contains(8), 'OP_NOT_ACTIVE') @@ -2358,137 +2203,181 @@

    Code:


      sp.set_type(sp.record(mantissa = params), sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(sp.as_nat(sp.level - self.data.accrualBlockNumber), sp.TNat)
      sp.set_type(params * sp.as_nat(sp.level - self.data.accrualBlockNumber), sp.TNat) -
      compute_CToken_545 = sp.local("compute_CToken_545", sp.record(mantissa = params * sp.as_nat(sp.level - self.data.accrualBlockNumber))) -
      sp.set_type(compute_CToken_545.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
      sp.set_type(compute_CToken_545.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      compute_CToken_761 = sp.local("compute_CToken_761", sp.record(mantissa = params * sp.as_nat(sp.level - self.data.accrualBlockNumber))) +
      sp.set_type(compute_CToken_761.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(compute_CToken_761.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(self.data.totalBorrows, sp.TNat) -
      sp.set_type(compute_CToken_545.value.mantissa * self.data.totalBorrows, sp.TNat) -
      sp.set_type(sp.record(mantissa = compute_CToken_545.value.mantissa * self.data.totalBorrows), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
      compute_CToken_546 = sp.local("compute_CToken_546", (compute_CToken_545.value.mantissa * self.data.totalBorrows) // self.data.expScale) -
      self.data.totalBorrows = compute_CToken_546.value + self.data.totalBorrows +
      sp.set_type(compute_CToken_761.value.mantissa * self.data.totalBorrows, sp.TNat) +
      sp.set_type(sp.record(mantissa = compute_CToken_761.value.mantissa * self.data.totalBorrows), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      compute_CToken_763 = sp.local("compute_CToken_763", (compute_CToken_761.value.mantissa * self.data.totalBorrows) // self.data.expScale) +
      self.data.totalBorrows = compute_CToken_763.value + self.data.totalBorrows
      sp.set_type(sp.record(mantissa = self.data.reserveFactorMantissa), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
      sp.set_type(compute_CToken_546.value, sp.TNat) +
      sp.set_type(compute_CToken_763.value, sp.TNat)
      sp.set_type(self.data.totalReserves, sp.TNat)
      sp.set_type(sp.record(mantissa = self.data.reserveFactorMantissa), sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(sp.record(mantissa = self.data.reserveFactorMantissa), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
      sp.set_type(compute_CToken_546.value, sp.TNat) -
      sp.set_type(self.data.reserveFactorMantissa * compute_CToken_546.value, sp.TNat) -
      sp.set_type(sp.record(mantissa = self.data.reserveFactorMantissa * compute_CToken_546.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
      self.data.totalReserves = ((self.data.reserveFactorMantissa * compute_CToken_546.value) // self.data.expScale) + self.data.totalReserves -
      sp.set_type(compute_CToken_545.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(compute_CToken_763.value, sp.TNat) +
      sp.set_type(self.data.reserveFactorMantissa * compute_CToken_763.value, sp.TNat) +
      sp.set_type(sp.record(mantissa = self.data.reserveFactorMantissa * compute_CToken_763.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      self.data.totalReserves = ((self.data.reserveFactorMantissa * compute_CToken_763.value) // self.data.expScale) + self.data.totalReserves +
      sp.set_type(compute_CToken_761.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(self.data.borrowIndex, sp.TNat)
      sp.set_type(self.data.borrowIndex, sp.TNat) -
      sp.set_type(compute_CToken_545.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
      sp.set_type(compute_CToken_545.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(compute_CToken_761.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(compute_CToken_761.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(self.data.borrowIndex, sp.TNat) -
      sp.set_type(compute_CToken_545.value.mantissa * self.data.borrowIndex, sp.TNat) -
      sp.set_type(sp.record(mantissa = compute_CToken_545.value.mantissa * self.data.borrowIndex), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
      self.data.borrowIndex = ((compute_CToken_545.value.mantissa * self.data.borrowIndex) // self.data.expScale) + self.data.borrowIndex +
      sp.set_type(compute_CToken_761.value.mantissa * self.data.borrowIndex, sp.TNat) +
      sp.set_type(sp.record(mantissa = compute_CToken_761.value.mantissa * self.data.borrowIndex), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      self.data.borrowIndex = ((compute_CToken_761.value.mantissa * self.data.borrowIndex) // self.data.expScale) + self.data.borrowIndex
      self.data.accrualBlockNumber = sp.level

    - @sp.entry_point -
    def exchangeRateStored(self, params):
      sp.set_type(sp.fst(params), sp.TUnit) -
      excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) -
      sp.if self.data.totalSupply > 0: -
        sp.set_type(self.data.totalSupply // 1000000, sp.TNat) -
        sp.set_type(0, sp.TNat) -
        sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) -
        sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) -
        sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
        sp.set_type(self.data.totalSupply, sp.TNat) -
        sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') -
        sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) -
        excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply -
      __s2 = sp.local("__s2", excRate.value) + @sp.entrypoint +
    def exchangeRateStored(self, params):
      __s2 = sp.bind_block("__s2"): +
      with __s2: +
        sp.set_type(sp.fst(params), sp.TUnit) +
        excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) +
        sp.if self.data.totalSupply > 0: +
          sp.set_type(self.data.totalSupply // 1000000, sp.TNat) +
          sp.set_type(0, sp.TNat) +
          sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) +
          sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) +
          sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.set_type(self.data.totalSupply, sp.TNat) +
          sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') +
          sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) +
          excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply +
        sp.result(excRate.value)
      sp.set_type(sp.snd(params), sp.TContract(sp.TNat))
      sp.transfer(__s2.value, sp.tez(0), sp.snd(params))

    - @sp.entry_point -
    def getAccountSnapshot(self, params):
      sp.set_type(sp.level, sp.TNat) -
      sp.set_type(self.data.accrualBlockNumber, sp.TNat) -
      compute_CToken_730 = sp.local("compute_CToken_730", sp.as_nat(sp.level - self.data.accrualBlockNumber, message = 'SUBTRACTION_UNDERFLOW')) -
      sp.verify(compute_CToken_730.value < self.data.accrualIntPeriodRelevance, 'CT_INTEREST_OLD') -
      sp.verify(self.data.isAccrualInterestValid, 'CT_INTEREST_INVALID') -
      borrowSnapshot = sp.local("borrowSnapshot", self.data.balances[sp.fst(params)].accountBorrows) -
      borrowBalance = sp.local("borrowBalance", 0) -
      sp.if borrowSnapshot.value.principal > 0: -
        borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex -
      excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) -
      sp.if self.data.totalSupply > 0: -
        sp.set_type(self.data.totalSupply // 1000000, sp.TNat) -
        sp.set_type(0, sp.TNat) -
        sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) -
        sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) -
        sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
        sp.set_type(self.data.totalSupply, sp.TNat) -
        sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') -
        sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) -
        excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply -
      __s3 = sp.local("__s3", sp.record(account = sp.fst(params), borrowBalance = borrowBalance.value, cTokenBalance = self.data.balances[sp.fst(params)].balance, exchangeRateMantissa = excRate.value)) + @sp.entrypoint +
    def getAccountSnapshot(self, params):
      __s3 = sp.bind_block("__s3"): +
      with __s3: +
        compute_CToken_565 = sp.local("compute_CToken_565", sp.record(account = sp.fst(params), borrowBalance = 0, cTokenBalance = 0, exchangeRateMantissa = 0)) +
        sp.if self.data.ledger.contains(sp.fst(params)): +
          sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') +
          compute_CToken_565.value.cTokenBalance = self.data.ledger[sp.fst(params)].balance +
          borrowBalance = sp.local("borrowBalance", 0) +
          sp.if self.data.borrows.contains(sp.fst(params)): +
            borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[sp.fst(params)]) +
            sp.if borrowSnapshot.value.principal > 0: +
              borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex +
          compute_CToken_565.value.borrowBalance = borrowBalance.value +
          excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) +
          sp.if self.data.totalSupply > 0: +
            sp.set_type(self.data.totalSupply // 1000000, sp.TNat) +
            sp.set_type(0, sp.TNat) +
            sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) +
            sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) +
            sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
            sp.set_type(self.data.totalSupply, sp.TNat) +
            sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') +
            sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) +
            excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply +
          compute_CToken_565.value.exchangeRateMantissa = excRate.value +
        sp.result(compute_CToken_565.value)
      sp.set_type(sp.snd(params), sp.TContract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa")))))
      sp.transfer(__s3.value, sp.tez(0), sp.snd(params))

    - @sp.entry_point -
    def getAllowance(self, params):
      __s4 = sp.local("__s4", self.data.balances[sp.fst(params).owner].approvals[sp.fst(params).spender]) + @sp.entrypoint +
    def getAllowance(self, params):
      __s4 = sp.bind_block("__s4"): +
      with __s4: +
        result = sp.local("result", 0) +
        sp.if self.data.ledger.contains(sp.fst(params).owner): +
          sp.if self.data.ledger[sp.fst(params).owner].approvals.contains(sp.fst(params).spender): +
            result.value = self.data.ledger[sp.fst(params).owner].approvals[sp.fst(params).spender] +
        sp.result(result.value)
      sp.set_type(sp.snd(params), sp.TContract(sp.TNat))
      sp.transfer(__s4.value, sp.tez(0), sp.snd(params))

    - @sp.entry_point -
    def getBalance(self, params):
      __s5 = sp.local("__s5", self.data.balances[sp.fst(params)].balance) + @sp.entrypoint +
    def getBalance(self, params):
      __s5 = sp.bind_block("__s5"): +
      with __s5: +
        result = sp.local("result", 0) +
        sp.if self.data.ledger.contains(sp.fst(params)): +
          result.value = self.data.ledger[sp.fst(params)].balance +
        sp.result(result.value)
      sp.set_type(sp.snd(params), sp.TContract(sp.TNat))
      sp.transfer(__s5.value, sp.tez(0), sp.snd(params))

    - @sp.entry_point -
    def getBalanceOfUnderlying(self, params):
      sp.set_type(sp.fst(params), sp.TAddress) -
      excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) -
      sp.if self.data.totalSupply > 0: -
        sp.set_type(self.data.totalSupply // 1000000, sp.TNat) -
        sp.set_type(0, sp.TNat) -
        sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) -
        sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) -
        sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
        sp.set_type(self.data.totalSupply, sp.TNat) -
        sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') -
        sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) -
        excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply -
      sp.set_type(excRate.value, sp.TNat) -
      sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
      sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
      sp.set_type(self.data.balances[sp.fst(params)].balance, sp.TNat) -
      sp.set_type(excRate.value * self.data.balances[sp.fst(params)].balance, sp.TNat) -
      sp.set_type(sp.record(mantissa = excRate.value * self.data.balances[sp.fst(params)].balance), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
      __s6 = sp.local("__s6", (excRate.value * self.data.balances[sp.fst(params)].balance) // self.data.expScale) + @sp.entrypoint +
    def getBalanceOfUnderlying(self, params):
      __s6 = sp.bind_block("__s6"): +
      with __s6: +
        sp.set_type(sp.fst(params), sp.TAddress) +
        excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) +
        sp.if self.data.totalSupply > 0: +
          sp.set_type(self.data.totalSupply // 1000000, sp.TNat) +
          sp.set_type(0, sp.TNat) +
          sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) +
          sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) +
          sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.set_type(self.data.totalSupply, sp.TNat) +
          sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') +
          sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) +
          excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply +
        sp.set_type(excRate.value, sp.TNat) +
        sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
        sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
        sp.set_type(self.data.ledger[sp.fst(params)].balance, sp.TNat) +
        sp.set_type(excRate.value * self.data.ledger[sp.fst(params)].balance, sp.TNat) +
        sp.set_type(sp.record(mantissa = excRate.value * self.data.ledger[sp.fst(params)].balance), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
        sp.result((excRate.value * self.data.ledger[sp.fst(params)].balance) // self.data.expScale)
      sp.set_type(sp.snd(params), sp.TContract(sp.TNat))
      sp.transfer(__s6.value, sp.tez(0), sp.snd(params))

    - @sp.entry_point -
    def getCash(self, params):
      sp.set_type(sp.fst(params), sp.TUnit) -
      __s7 = sp.local("__s7", self.data.totalSupply // 1000000) + @sp.entrypoint +
    def getCash(self, params):
      __s7 = sp.bind_block("__s7"): +
      with __s7: +
        sp.set_type(sp.fst(params), sp.TUnit) +
        sp.result(self.data.totalSupply // 1000000)
      sp.set_type(sp.snd(params), sp.TContract(sp.TNat))
      sp.transfer(__s7.value, sp.tez(0), sp.snd(params))

    - @sp.entry_point -
    def getTotalSupply(self, params):
      sp.set_type(sp.fst(params), sp.TUnit) -
      __s8 = sp.local("__s8", self.data.totalSupply) + @sp.entrypoint +
    def getTotalSupply(self, params):
      __s8 = sp.bind_block("__s8"): +
      with __s8: +
        sp.set_type(sp.fst(params), sp.TUnit) +
        sp.result(self.data.totalSupply)
      sp.set_type(sp.snd(params), sp.TContract(sp.TNat))
      sp.transfer(__s8.value, sp.tez(0), sp.snd(params))

    - @sp.entry_point + @sp.entrypoint
    def hardResetOp(self, params):
      sp.set_type(params, sp.TUnit)
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN')
      self.data.activeOperations = sp.set([])

    - @sp.entry_point + @sp.entrypoint +
    def liquidateBorrow(self, params):
      sp.set_type(params, sp.TRecord(borrower = sp.TAddress, cTokenCollateral = sp.TAddress, repayAmount = sp.TNat).layout(("borrower", ("cTokenCollateral", "repayAmount")))) +
      sp.transfer(sp.record(borrower = params.borrower, cTokenBorrowed = sp.self_address, cTokenCollateral = params.cTokenCollateral, liquidator = sp.sender, repayAmount = params.repayAmount), sp.tez(0), sp.contract(sp.TRecord(borrower = sp.TAddress, cTokenBorrowed = sp.TAddress, cTokenCollateral = sp.TAddress, liquidator = sp.TAddress, repayAmount = sp.TNat).layout((("borrower", "cTokenBorrowed"), ("cTokenCollateral", ("liquidator", "repayAmount")))), self.data.comptroller, entrypoint='liquidateBorrowAllowed').open_some()) +
      sp.verify(params.borrower != sp.sender, 'CT_LIQUIDATE_LIQUIDATOR_IS_BORROWER') +
      sp.verify(params.repayAmount > 0, 'CT_LIQUIDATE_CLOSE_AMOUNT_IS_INVALID') +
      sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') +
      borrowBalance = sp.local("borrowBalance", 0) +
      sp.if self.data.borrows.contains(params.borrower): +
        borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[params.borrower]) +
        sp.if borrowSnapshot.value.principal > 0: +
          borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex +
      sp.set_type(borrowBalance.value, sp.TNat) +
      sp.set_type(sp.min(borrowBalance.value, params.repayAmount), sp.TNat) +
      self.data.borrows[params.borrower].principal = sp.as_nat(borrowBalance.value - sp.min(borrowBalance.value, params.repayAmount), message = 'SUBTRACTION_UNDERFLOW') +
      self.data.borrows[params.borrower].interestIndex = self.data.borrowIndex +
      sp.set_type(self.data.totalBorrows, sp.TNat) +
      sp.set_type(sp.min(borrowBalance.value, params.repayAmount), sp.TNat) +
      self.data.totalBorrows = sp.as_nat(self.data.totalBorrows - sp.min(borrowBalance.value, params.repayAmount), message = 'SUBTRACTION_UNDERFLOW') +
      sp.if self.data.borrows[params.borrower].principal == 0: +
        sp.transfer(params.borrower, sp.tez(0), sp.contract(sp.TAddress, self.data.comptroller, entrypoint='removeFromLoans').open_some()) +
      sp.verify(sp.view("balanceOf", params.borrower, params.cTokenCollateral, sp.TNat).open_some(message = 'INVALID BALANCE OF VIEW') >= sp.view("liquidateCalculateSeizeTokens", sp.record(actualRepayAmount = params.repayAmount, cTokenBorrowed = sp.self_address, cTokenCollateral = params.cTokenCollateral), self.data.comptroller, sp.TNat).open_some(message = 'INVALID LIQUIDATE CALC SEIZE TOKEN VIEW'), 'LIQUIDATE_SEIZE_TOO_MUCH') +
      sp.transfer(sp.record(borrower = params.borrower, liquidator = sp.sender, seizeTokens = sp.view("liquidateCalculateSeizeTokens", sp.record(actualRepayAmount = params.repayAmount, cTokenBorrowed = sp.self_address, cTokenCollateral = params.cTokenCollateral), self.data.comptroller, sp.TNat).open_some(message = 'INVALID LIQUIDATE CALC SEIZE TOKEN VIEW')), sp.tez(0), sp.contract(sp.TRecord(borrower = sp.TAddress, liquidator = sp.TAddress, seizeTokens = sp.TNat).layout(("borrower", ("liquidator", "seizeTokens"))), params.cTokenCollateral, entrypoint='seize').open_some())
    +
    + @sp.entrypoint
    def mint(self, params):
      sp.set_type(params, sp.TNat)
      sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') -
      sp.if ~ (self.data.balances.contains(sp.sender)): -
        self.data.balances[sp.sender] = sp.record(accountBorrows = sp.record(interestIndex = 0, principal = 0), approvals = {}, balance = 0) -
      sp.transfer(sp.record(cToken = sp.self_address, minter = sp.sender, mintAmount = params), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount"))), self.data.comptroller, entry_point='mintAllowed').open_some()) -
      sp.set_type(sp.level, sp.TNat) -
      sp.set_type(self.data.accrualBlockNumber, sp.TNat) -
      compute_CToken_730 = sp.local("compute_CToken_730", sp.as_nat(sp.level - self.data.accrualBlockNumber, message = 'SUBTRACTION_UNDERFLOW')) -
      sp.verify(compute_CToken_730.value < self.data.accrualIntPeriodRelevance, 'CT_INTEREST_OLD') -
      sp.verify(self.data.isAccrualInterestValid, 'CT_INTEREST_INVALID') +
      sp.if ~ (self.data.ledger.contains(sp.sender)): +
        self.data.ledger[sp.sender] = sp.record(approvals = {}, balance = 0) +
      sp.if ~ (self.data.borrows.contains(sp.sender)): +
        self.data.borrows[sp.sender] = sp.record(interestIndex = 0, principal = 0) +
      sp.transfer(sp.record(cToken = sp.self_address, mintAmount = params, minter = sp.sender), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount"))), self.data.comptroller, entrypoint='mintAllowed').open_some()) +
      sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD')
      excRate = sp.local("excRate", self.data.initialExchangeRateMantissa)
      sp.if self.data.totalSupply > 0:
        sp.set_type(self.data.totalSupply // 1000000, sp.TNat) @@ -2506,8 +2395,8 @@

    Code:


        sp.set_type(params, sp.TNat)
        sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
        sp.verify(excRate.value > 0, 'DIVISION_BY_ZERO') -
        compute_CToken_747 = sp.local("compute_CToken_747", (params * self.data.expScale) // excRate.value) -
        amount.value = compute_CToken_747.value +
        compute_CToken_965 = sp.local("compute_CToken_965", (params * self.data.expScale) // excRate.value) +
        amount.value = compute_CToken_965.value
      sp.else:
        sp.set_type(excRate.value, sp.TNat)
        sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) @@ -2515,16 +2404,16 @@

    Code:


        sp.set_type(params, sp.TNat)
        sp.set_type(excRate.value * params, sp.TNat)
        sp.set_type(sp.record(mantissa = excRate.value * params), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
        compute_CToken_749 = sp.local("compute_CToken_749", (excRate.value * params) // self.data.expScale) -
        amount.value = compute_CToken_749.value +
        compute_CToken_968 = sp.local("compute_CToken_968", (excRate.value * params) // self.data.expScale) +
        amount.value = compute_CToken_968.value +
      sp.verify(amount.value > 0, 'CT_MINT_AMOUNT_IS_INVALID')
      self.data.totalSupply += amount.value -
      self.data.balances[sp.sender].balance += amount.value -
      self.data.isAccrualInterestValid = False
    +
      self.data.ledger[sp.sender].balance += amount.value

    - @sp.entry_point + @sp.entrypoint
    def redeem(self, params):
      sp.set_type(params, sp.TNat)
      sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') -
      sp.transfer(sp.record(cToken = sp.self_address, redeemer = sp.sender, redeemAmount = params), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), self.data.comptroller, entry_point='redeemAllowed').open_some()) +
      sp.transfer(sp.record(cToken = sp.self_address, redeemAmount = params, redeemer = sp.sender), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), self.data.comptroller, entrypoint='redeemAllowed').open_some())
      redeem_amount = sp.local("redeem_amount", 0)
      sp.if False:
        redeem_amount.value = params @@ -2546,8 +2435,8 @@

    Code:


          sp.set_type(params, sp.TNat)
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
          sp.verify(excRate.value > 0, 'DIVISION_BY_ZERO') -
          compute_CToken_747 = sp.local("compute_CToken_747", (params * self.data.expScale) // excRate.value) -
          amount.value = compute_CToken_747.value +
          compute_CToken_965 = sp.local("compute_CToken_965", (params * self.data.expScale) // excRate.value) +
          amount.value = compute_CToken_965.value
        sp.else:
          sp.set_type(excRate.value, sp.TNat)
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) @@ -2555,8 +2444,8 @@

    Code:


          sp.set_type(params, sp.TNat)
          sp.set_type(excRate.value * params, sp.TNat)
          sp.set_type(sp.record(mantissa = excRate.value * params), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
          compute_CToken_749 = sp.local("compute_CToken_749", (excRate.value * params) // self.data.expScale) -
          amount.value = compute_CToken_749.value +
          compute_CToken_968 = sp.local("compute_CToken_968", (excRate.value * params) // self.data.expScale) +
          amount.value = compute_CToken_968.value
        redeem_amount.value = amount.value
      redeem_tokens = sp.local("redeem_tokens", 0)
      sp.if False: @@ -2577,8 +2466,12 @@

    Code:


          sp.set_type(params, sp.TNat)
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
          sp.verify(excRate.value > 0, 'DIVISION_BY_ZERO') -
          compute_CToken_747 = sp.local("compute_CToken_747", (params * self.data.expScale) // excRate.value) -
          amount.value = compute_CToken_747.value +
          compute_Exponential_277 = sp.local("compute_Exponential_277", params * self.data.expScale) +
          compute_Exponential_280 = sp.local("compute_Exponential_280", compute_Exponential_277.value // excRate.value) +
          sp.if (compute_Exponential_277.value % excRate.value) > 0: +
            pass +
          compute_CToken_976 = sp.local("compute_CToken_976", compute_Exponential_280.value + 1) +
          amount.value = compute_CToken_976.value
        sp.else:
          sp.set_type(excRate.value, sp.TNat)
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) @@ -2586,25 +2479,21 @@

    Code:


          sp.set_type(params, sp.TNat)
          sp.set_type(excRate.value * params, sp.TNat)
          sp.set_type(sp.record(mantissa = excRate.value * params), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
          compute_CToken_749 = sp.local("compute_CToken_749", (excRate.value * params) // self.data.expScale) -
          amount.value = compute_CToken_749.value +
          compute_CToken_979 = sp.local("compute_CToken_979", (excRate.value * params) // self.data.expScale) +
          amount.value = compute_CToken_979.value
        redeem_tokens.value = amount.value
      sp.else:
        redeem_tokens.value = params -
      sp.verify((self.data.totalSupply // 1000000) >= redeem_amount.value, 'CT_INSUFFICIENT_CASH') -
      sp.set_type(sp.level, sp.TNat) -
      sp.set_type(self.data.accrualBlockNumber, sp.TNat) -
      compute_CToken_730 = sp.local("compute_CToken_730", sp.as_nat(sp.level - self.data.accrualBlockNumber, message = 'SUBTRACTION_UNDERFLOW')) -
      sp.verify(compute_CToken_730.value < self.data.accrualIntPeriodRelevance, 'CT_INTEREST_OLD') -
      sp.verify(self.data.isAccrualInterestValid, 'CT_INTEREST_INVALID') -
      self.data.totalSupply = sp.as_nat(self.data.totalSupply - redeem_tokens.value, message = 'Insufficient supply') -
      self.data.balances[sp.sender].balance = sp.as_nat(self.data.balances[sp.sender].balance - redeem_tokens.value, message = 'Insufficient balance') -
      self.data.isAccrualInterestValid = False
    +
      sp.if (redeem_amount.value > 0) & (redeem_tokens.value > 0): +
        sp.verify((self.data.totalSupply // 1000000) >= redeem_amount.value, 'CT_INSUFFICIENT_CASH') +
        sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') +
        self.data.totalSupply = sp.as_nat(self.data.totalSupply - redeem_tokens.value, message = 'Insufficient supply') +
        self.data.ledger[sp.sender].balance = sp.as_nat(self.data.ledger[sp.sender].balance - redeem_tokens.value, message = 'Insufficient balance')

    - @sp.entry_point + @sp.entrypoint
    def redeemUnderlying(self, params):
      sp.set_type(params, sp.TNat)
      sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') -
      sp.transfer(sp.record(cToken = sp.self_address, redeemer = sp.sender, redeemAmount = params), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), self.data.comptroller, entry_point='redeemAllowed').open_some()) +
      sp.transfer(sp.record(cToken = sp.self_address, redeemAmount = params, redeemer = sp.sender), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), self.data.comptroller, entrypoint='redeemAllowed').open_some())
      redeem_amount = sp.local("redeem_amount", 0)
      sp.if True:
        redeem_amount.value = params @@ -2626,8 +2515,8 @@

    Code:


          sp.set_type(params, sp.TNat)
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
          sp.verify(excRate.value > 0, 'DIVISION_BY_ZERO') -
          compute_CToken_747 = sp.local("compute_CToken_747", (params * self.data.expScale) // excRate.value) -
          amount.value = compute_CToken_747.value +
          compute_CToken_965 = sp.local("compute_CToken_965", (params * self.data.expScale) // excRate.value) +
          amount.value = compute_CToken_965.value
        sp.else:
          sp.set_type(excRate.value, sp.TNat)
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) @@ -2635,8 +2524,8 @@

    Code:


          sp.set_type(params, sp.TNat)
          sp.set_type(excRate.value * params, sp.TNat)
          sp.set_type(sp.record(mantissa = excRate.value * params), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
          compute_CToken_749 = sp.local("compute_CToken_749", (excRate.value * params) // self.data.expScale) -
          amount.value = compute_CToken_749.value +
          compute_CToken_968 = sp.local("compute_CToken_968", (excRate.value * params) // self.data.expScale) +
          amount.value = compute_CToken_968.value
        redeem_amount.value = amount.value
      redeem_tokens = sp.local("redeem_tokens", 0)
      sp.if True: @@ -2657,8 +2546,12 @@

    Code:


          sp.set_type(params, sp.TNat)
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
          sp.verify(excRate.value > 0, 'DIVISION_BY_ZERO') -
          compute_CToken_747 = sp.local("compute_CToken_747", (params * self.data.expScale) // excRate.value) -
          amount.value = compute_CToken_747.value +
          compute_Exponential_277 = sp.local("compute_Exponential_277", params * self.data.expScale) +
          compute_Exponential_280 = sp.local("compute_Exponential_280", compute_Exponential_277.value // excRate.value) +
          sp.if (compute_Exponential_277.value % excRate.value) > 0: +
            pass +
          compute_CToken_976 = sp.local("compute_CToken_976", compute_Exponential_280.value + 1) +
          amount.value = compute_CToken_976.value
        sp.else:
          sp.set_type(excRate.value, sp.TNat)
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) @@ -2666,30 +2559,26 @@

    Code:


          sp.set_type(params, sp.TNat)
          sp.set_type(excRate.value * params, sp.TNat)
          sp.set_type(sp.record(mantissa = excRate.value * params), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
          compute_CToken_749 = sp.local("compute_CToken_749", (excRate.value * params) // self.data.expScale) -
          amount.value = compute_CToken_749.value +
          compute_CToken_979 = sp.local("compute_CToken_979", (excRate.value * params) // self.data.expScale) +
          amount.value = compute_CToken_979.value
        redeem_tokens.value = amount.value
      sp.else:
        redeem_tokens.value = params -
      sp.verify((self.data.totalSupply // 1000000) >= redeem_amount.value, 'CT_INSUFFICIENT_CASH') -
      sp.set_type(sp.level, sp.TNat) -
      sp.set_type(self.data.accrualBlockNumber, sp.TNat) -
      compute_CToken_730 = sp.local("compute_CToken_730", sp.as_nat(sp.level - self.data.accrualBlockNumber, message = 'SUBTRACTION_UNDERFLOW')) -
      sp.verify(compute_CToken_730.value < self.data.accrualIntPeriodRelevance, 'CT_INTEREST_OLD') -
      sp.verify(self.data.isAccrualInterestValid, 'CT_INTEREST_INVALID') -
      self.data.totalSupply = sp.as_nat(self.data.totalSupply - redeem_tokens.value, message = 'Insufficient supply') -
      self.data.balances[sp.sender].balance = sp.as_nat(self.data.balances[sp.sender].balance - redeem_tokens.value, message = 'Insufficient balance') -
      self.data.isAccrualInterestValid = False
    +
      sp.if (redeem_amount.value > 0) & (redeem_tokens.value > 0): +
        sp.verify((self.data.totalSupply // 1000000) >= redeem_amount.value, 'CT_INSUFFICIENT_CASH') +
        sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') +
        self.data.totalSupply = sp.as_nat(self.data.totalSupply - redeem_tokens.value, message = 'Insufficient supply') +
        self.data.ledger[sp.sender].balance = sp.as_nat(self.data.ledger[sp.sender].balance - redeem_tokens.value, message = 'Insufficient balance')

    - @sp.entry_point + @sp.entrypoint
    def reduceReserves(self, params):
      sp.set_type(params, sp.TNat)
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN')
      sp.verify(sp.len(self.data.activeOperations) == 0, 'OP_IN_PROGRESS')
      self.data.activeOperations.add(12) -
      sp.transfer(sp.unit, sp.tez(0), sp.self_entry_point('accrueInterest')) -
      sp.transfer(params, sp.amount, sp.self_entry_point('reduceReservesInternal'))
    +
      sp.transfer(sp.unit, sp.tez(0), sp.self_entrypoint('accrueInterest')) +
      sp.transfer(params, sp.amount, sp.self_entrypoint('reduceReservesInternal'))

    - @sp.entry_point + @sp.entrypoint
    def reduceReservesInternal(self, params):
      sp.verify(sp.sender == sp.self_address, 'CT_INTERNAL_FUNCTION')
      sp.verify(self.data.activeOperations.contains(12), 'OP_NOT_ACTIVE')
      self.data.activeOperations.remove(12) @@ -2697,616 +2586,970 @@

    Code:


      sp.verify(params <= self.data.totalReserves, 'CT_REDUCE_AMOUNT')
      sp.set_type(self.data.totalReserves, sp.TNat)
      sp.set_type(params, sp.TNat) -
      self.data.totalReserves = sp.as_nat(self.data.totalReserves - params, message = 'SUBTRACTION_UNDERFLOW') -
      self.data.isAccrualInterestValid = False
    +
      self.data.totalReserves = sp.as_nat(self.data.totalReserves - params, message = 'SUBTRACTION_UNDERFLOW')
    - @sp.entry_point + @sp.entrypoint
    def removePendingGovernance(self, params):
      sp.set_type(params, sp.TUnit)
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN')
      self.data.pendingAdministrator = sp.none

    - @sp.entry_point + @sp.entrypoint
    def repayBorrow(self, params):
      sp.set_type(params, sp.TNat)
      sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') -
      sp.if ~ (self.data.balances.contains(sp.sender)): -
        self.data.balances[sp.sender] = sp.record(accountBorrows = sp.record(interestIndex = 0, principal = 0), approvals = {}, balance = 0) -
      sp.transfer(sp.record(cToken = sp.self_address, payer = sp.sender, borrower = sp.sender, repayAmount = params), sp.tez(0), sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), self.data.comptroller, entry_point='repayBorrowAllowed').open_some()) -
      sp.set_type(sp.level, sp.TNat) -
      sp.set_type(self.data.accrualBlockNumber, sp.TNat) -
      compute_CToken_730 = sp.local("compute_CToken_730", sp.as_nat(sp.level - self.data.accrualBlockNumber, message = 'SUBTRACTION_UNDERFLOW')) -
      sp.verify(compute_CToken_730.value < self.data.accrualIntPeriodRelevance, 'CT_INTEREST_OLD') -
      sp.verify(self.data.isAccrualInterestValid, 'CT_INTEREST_INVALID') -
      borrowSnapshot = sp.local("borrowSnapshot", self.data.balances[sp.sender].accountBorrows) +
      sp.if ~ (self.data.ledger.contains(sp.sender)): +
        self.data.ledger[sp.sender] = sp.record(approvals = {}, balance = 0) +
      sp.if ~ (self.data.borrows.contains(sp.sender)): +
        self.data.borrows[sp.sender] = sp.record(interestIndex = 0, principal = 0) +
      sp.transfer(sp.record(borrower = sp.sender, cToken = sp.self_address, payer = sp.sender, repayAmount = params), sp.tez(0), sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), self.data.comptroller, entrypoint='repayBorrowAllowed').open_some()) +
      sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD')
      borrowBalance = sp.local("borrowBalance", 0) -
      sp.if borrowSnapshot.value.principal > 0: -
        borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex +
      sp.if self.data.borrows.contains(sp.sender): +
        borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[sp.sender]) +
        sp.if borrowSnapshot.value.principal > 0: +
          borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex
      sp.set_type(borrowBalance.value, sp.TNat)
      sp.set_type(sp.min(borrowBalance.value, params), sp.TNat) -
      self.data.balances[sp.sender].accountBorrows.principal = sp.as_nat(borrowBalance.value - sp.min(borrowBalance.value, params), message = 'SUBTRACTION_UNDERFLOW') -
      self.data.balances[sp.sender].accountBorrows.interestIndex = self.data.borrowIndex +
      self.data.borrows[sp.sender].principal = sp.as_nat(borrowBalance.value - sp.min(borrowBalance.value, params), message = 'SUBTRACTION_UNDERFLOW') +
      self.data.borrows[sp.sender].interestIndex = self.data.borrowIndex
      sp.set_type(self.data.totalBorrows, sp.TNat)
      sp.set_type(sp.min(borrowBalance.value, params), sp.TNat)
      self.data.totalBorrows = sp.as_nat(self.data.totalBorrows - sp.min(borrowBalance.value, params), message = 'SUBTRACTION_UNDERFLOW') -
      self.data.isAccrualInterestValid = False
    +
      sp.if self.data.borrows[sp.sender].principal == 0: +
        sp.transfer(sp.sender, sp.tez(0), sp.contract(sp.TAddress, self.data.comptroller, entrypoint='removeFromLoans').open_some())
    - @sp.entry_point + @sp.entrypoint
    def repayBorrowBehalf(self, params):
      sp.set_type(params, sp.TRecord(borrower = sp.TAddress, repayAmount = sp.TNat).layout(("borrower", "repayAmount")))
      sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') -
      sp.if ~ (self.data.balances.contains(sp.sender)): -
        self.data.balances[sp.sender] = sp.record(accountBorrows = sp.record(interestIndex = 0, principal = 0), approvals = {}, balance = 0) -
      sp.transfer(sp.record(cToken = sp.self_address, payer = sp.sender, borrower = params.borrower, repayAmount = params.repayAmount), sp.tez(0), sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), self.data.comptroller, entry_point='repayBorrowAllowed').open_some()) -
      sp.set_type(sp.level, sp.TNat) -
      sp.set_type(self.data.accrualBlockNumber, sp.TNat) -
      compute_CToken_730 = sp.local("compute_CToken_730", sp.as_nat(sp.level - self.data.accrualBlockNumber, message = 'SUBTRACTION_UNDERFLOW')) -
      sp.verify(compute_CToken_730.value < self.data.accrualIntPeriodRelevance, 'CT_INTEREST_OLD') -
      sp.verify(self.data.isAccrualInterestValid, 'CT_INTEREST_INVALID') -
      borrowSnapshot = sp.local("borrowSnapshot", self.data.balances[params.borrower].accountBorrows) +
      sp.if ~ (self.data.ledger.contains(sp.sender)): +
        self.data.ledger[sp.sender] = sp.record(approvals = {}, balance = 0) +
      sp.if ~ (self.data.borrows.contains(sp.sender)): +
        self.data.borrows[sp.sender] = sp.record(interestIndex = 0, principal = 0) +
      sp.transfer(sp.record(borrower = params.borrower, cToken = sp.self_address, payer = sp.sender, repayAmount = params.repayAmount), sp.tez(0), sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), self.data.comptroller, entrypoint='repayBorrowAllowed').open_some()) +
      sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD')
      borrowBalance = sp.local("borrowBalance", 0) -
      sp.if borrowSnapshot.value.principal > 0: -
        borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex +
      sp.if self.data.borrows.contains(params.borrower): +
        borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[params.borrower]) +
        sp.if borrowSnapshot.value.principal > 0: +
          borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex
      sp.set_type(borrowBalance.value, sp.TNat)
      sp.set_type(sp.min(borrowBalance.value, params.repayAmount), sp.TNat) -
      self.data.balances[params.borrower].accountBorrows.principal = sp.as_nat(borrowBalance.value - sp.min(borrowBalance.value, params.repayAmount), message = 'SUBTRACTION_UNDERFLOW') -
      self.data.balances[params.borrower].accountBorrows.interestIndex = self.data.borrowIndex +
      self.data.borrows[params.borrower].principal = sp.as_nat(borrowBalance.value - sp.min(borrowBalance.value, params.repayAmount), message = 'SUBTRACTION_UNDERFLOW') +
      self.data.borrows[params.borrower].interestIndex = self.data.borrowIndex
      sp.set_type(self.data.totalBorrows, sp.TNat)
      sp.set_type(sp.min(borrowBalance.value, params.repayAmount), sp.TNat)
      self.data.totalBorrows = sp.as_nat(self.data.totalBorrows - sp.min(borrowBalance.value, params.repayAmount), message = 'SUBTRACTION_UNDERFLOW') -
      self.data.isAccrualInterestValid = False
    +
      sp.if self.data.borrows[params.borrower].principal == 0: +
        sp.transfer(params.borrower, sp.tez(0), sp.contract(sp.TAddress, self.data.comptroller, entrypoint='removeFromLoans').open_some()) +
    + @sp.entrypoint +
    def seize(self, params):
      sp.set_type(params, sp.TRecord(borrower = sp.TAddress, liquidator = sp.TAddress, seizeTokens = sp.TNat).layout(("borrower", ("liquidator", "seizeTokens")))) +
      sp.if ~ (self.data.ledger.contains(params.liquidator)): +
        self.data.ledger[params.liquidator] = sp.record(approvals = {}, balance = 0) +
      sp.if ~ (self.data.borrows.contains(params.liquidator)): +
        self.data.borrows[params.liquidator] = sp.record(interestIndex = 0, principal = 0) +
      sp.verify(sp.view("seizeAllowed", sp.record(cTokenBorrowed = sp.sender, cTokenCollateral = sp.self_address), self.data.comptroller, sp.TBool).open_some(message = 'INVALID SEIZE ALLOWED VIEW'), 'CT_LIQUIDATE_SEIZE_COMPTROLLER_REJECTION') +
      sp.verify(params.borrower != params.liquidator, 'CT_LIQUIDATE_SEIZE_LIQUIDATOR_IS_BORROWER') +
      sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') +
      sp.set_type(self.data.ledger[params.borrower].balance, sp.TNat) +
      sp.set_type(params.seizeTokens, sp.TNat) +
      sp.set_type(self.data.protocolSeizeShareMantissa, sp.TNat) +
      sp.set_type(params.seizeTokens, sp.TNat) +
      sp.set_type(sp.record(mantissa = self.data.protocolSeizeShareMantissa), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      protocolSeizeTokens = sp.local("protocolSeizeTokens", (params.seizeTokens * self.data.protocolSeizeShareMantissa) // self.data.expScale) +
      sp.set_type(params.seizeTokens, sp.TNat) +
      sp.set_type(protocolSeizeTokens.value, sp.TNat) +
      excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) +
      sp.if self.data.totalSupply > 0: +
        sp.set_type(self.data.totalSupply // 1000000, sp.TNat) +
        sp.set_type(0, sp.TNat) +
        sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) +
        sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) +
        sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
        sp.set_type(self.data.totalSupply, sp.TNat) +
        sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') +
        sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) +
        excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply +
      sp.set_type(excRate.value, sp.TNat) +
      sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(protocolSeizeTokens.value, sp.TNat) +
      sp.set_type(excRate.value * protocolSeizeTokens.value, sp.TNat) +
      sp.set_type(sp.record(mantissa = excRate.value * protocolSeizeTokens.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(self.data.totalReserves, sp.TNat) +
      sp.set_type((excRate.value * protocolSeizeTokens.value) // self.data.expScale, sp.TNat) +
      sp.set_type(self.data.totalSupply, sp.TNat) +
      sp.set_type(protocolSeizeTokens.value, sp.TNat) +
      sp.set_type(self.data.ledger[params.liquidator].balance, sp.TNat) +
      sp.set_type(sp.as_nat(params.seizeTokens - protocolSeizeTokens.value, message = 'SUBTRACTION_UNDERFLOW'), sp.TNat) +
      self.data.totalReserves += (excRate.value * protocolSeizeTokens.value) // self.data.expScale +
      self.data.totalSupply = sp.as_nat(self.data.totalSupply - protocolSeizeTokens.value, message = 'SUBTRACTION_UNDERFLOW') +
      self.data.ledger[params.borrower].balance = sp.as_nat(self.data.ledger[params.borrower].balance - params.seizeTokens, message = 'SUBTRACTION_UNDERFLOW') +
      self.data.ledger[params.liquidator].balance += sp.as_nat(params.seizeTokens - protocolSeizeTokens.value, message = 'SUBTRACTION_UNDERFLOW')

    - @sp.entry_point + @sp.entrypoint
    def setAccountSnapshot(self, params):
      sp.set_type(params, sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))))
      self.data.accCTokenBalance = params.cTokenBalance
      self.data.accBorrowBalance = params.borrowBalance
      self.data.accExchangeRateMantissa = params.exchangeRateMantissa

    - @sp.entry_point -
    def setAccrualIntPeriodRelevance(self, params):
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') -
      sp.set_type(params, sp.TNat) -
      self.data.accrualIntPeriodRelevance = params
    -
    - @sp.entry_point + @sp.entrypoint
    def setActiveOp(self, params):
      sp.set_type(params, sp.TNat)
      self.data.activeOperations.add(params)

    - @sp.entry_point -
    def setBorrowRatePerBlock(self, params):
      sp.verify(sp.sender == self.data.interestRateModel, 'CT_SENDER_NOT_IRM') -
      sp.verify(self.data.activeOperations.contains(6), 'OP_NOT_ACTIVE') -
      self.data.activeOperations.remove(6) -
      self.data.borrowRatePerBlock = params
    -
    - @sp.entry_point + @sp.entrypoint
    def setComptroller(self, params):
      sp.set_type(params, sp.TAddress)
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN')
      self.data.comptroller = params

    - @sp.entry_point + @sp.entrypoint
    def setInterestRateModel(self, params):
      sp.set_type(params, sp.TAddress)
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN')
      sp.verify(sp.len(self.data.activeOperations) == 0, 'OP_IN_PROGRESS')
      self.data.activeOperations.add(9) -
      sp.transfer(sp.unit, sp.tez(0), sp.self_entry_point('accrueInterest')) -
      sp.transfer(params, sp.tez(0), sp.self_entry_point('setInterestRateModelInternal'))
    +
      sp.transfer(sp.unit, sp.tez(0), sp.self_entrypoint('accrueInterest')) +
      sp.transfer(params, sp.tez(0), sp.self_entrypoint('setInterestRateModelInternal'))
    - @sp.entry_point + @sp.entrypoint
    def setInterestRateModelInternal(self, params):
      sp.set_type(params, sp.TAddress)
      sp.verify(sp.sender == sp.self_address, 'CT_INTERNAL_FUNCTION')
      sp.verify(self.data.activeOperations.contains(9), 'OP_NOT_ACTIVE')
      self.data.activeOperations.remove(9)
      self.data.interestRateModel = params

    - @sp.entry_point + @sp.entrypoint
    def setPendingGovernance(self, params):
      sp.set_type(params, sp.TAddress)
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN')
      self.data.pendingAdministrator = sp.some(params)

    - @sp.entry_point + @sp.entrypoint
    def setReserveFactor(self, params):
      sp.set_type(params, sp.TNat)
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN')
      sp.verify(sp.len(self.data.activeOperations) == 0, 'OP_IN_PROGRESS')
      self.data.activeOperations.add(10) -
      sp.transfer(sp.unit, sp.tez(0), sp.self_entry_point('accrueInterest')) -
      sp.transfer(params, sp.tez(0), sp.self_entry_point('setReserveFactorInternal'))
    +
      sp.transfer(sp.unit, sp.tez(0), sp.self_entrypoint('accrueInterest')) +
      sp.transfer(params, sp.tez(0), sp.self_entrypoint('setReserveFactorInternal'))
    - @sp.entry_point + @sp.entrypoint
    def setReserveFactorInternal(self, params):
      sp.verify(sp.sender == sp.self_address, 'CT_INTERNAL_FUNCTION')
      sp.verify(self.data.activeOperations.contains(10), 'OP_NOT_ACTIVE')
      self.data.activeOperations.remove(10) -
      sp.set_type(sp.level, sp.TNat) -
      sp.set_type(self.data.accrualBlockNumber, sp.TNat) -
      compute_CToken_730 = sp.local("compute_CToken_730", sp.as_nat(sp.level - self.data.accrualBlockNumber, message = 'SUBTRACTION_UNDERFLOW')) -
      sp.verify(compute_CToken_730.value < self.data.accrualIntPeriodRelevance, 'CT_INTEREST_OLD') -
      sp.verify(self.data.isAccrualInterestValid, 'CT_INTEREST_INVALID') +
      sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD')
      sp.verify(params <= self.data.reserveFactorMaxMantissa, 'CT_INVALID_RESERVE_FACTOR') -
      self.data.reserveFactorMantissa = params -
      self.data.isAccrualInterestValid = False
    -
    - @sp.entry_point -
    def setSupplyRatePerBlock(self, params):
      sp.verify(sp.sender == self.data.interestRateModel, 'CT_SENDER_NOT_IRM') -
      sp.verify(self.data.activeOperations.contains(7), 'OP_NOT_ACTIVE') -
      self.data.activeOperations.remove(7) -
      self.data.supplyRatePerBlock = params
    +
      self.data.reserveFactorMantissa = params
    - @sp.entry_point + @sp.entrypoint
    def sweepFA12(self, params):
      sp.set_type(params, sp.TRecord(amount = sp.TNat, tokenAddress = sp.TAddress).layout(("amount", "tokenAddress"))) -
      sp.transfer(sp.record(from_ = sp.self_address, to_ = self.data.administrator, value = params.amount), sp.tez(0), sp.contract(sp.TRecord(from_ = sp.TAddress, to_ = sp.TAddress, value = sp.TNat).layout(("from_ as from", ("to_ as to", "value"))), params.tokenAddress, entry_point='transfer').open_some())
    +
      sp.transfer(sp.record(from_ = sp.self_address, to_ = self.data.administrator, value = params.amount), sp.tez(0), sp.contract(sp.TRecord(from_ = sp.TAddress, to_ = sp.TAddress, value = sp.TNat).layout(("from_ as from", ("to_ as to", "value"))), params.tokenAddress, entrypoint='transfer').open_some())
    - @sp.entry_point + @sp.entrypoint
    def sweepFA2(self, params):
      sp.set_type(params, sp.TRecord(amount = sp.TNat, id = sp.TNat, tokenAddress = sp.TAddress).layout(("amount", ("id", "tokenAddress")))) -
      sp.transfer(sp.list([sp.record(from_ = sp.self_address, txs = sp.list([sp.record(to_ = self.data.administrator, token_id = params.id, amount = params.amount)]))]), sp.tez(0), sp.contract(sp.TList(sp.TRecord(from_ = sp.TAddress, txs = sp.TList(sp.TRecord(amount = sp.TNat, to_ = sp.TAddress, token_id = sp.TNat).layout(("to_", ("token_id", "amount"))))).layout(("from_", "txs"))), params.tokenAddress, entry_point='transfer').open_some())
    +
      sp.transfer(sp.list([sp.record(from_ = sp.self_address, txs = sp.list([sp.record(amount = params.amount, to_ = self.data.administrator, token_id = params.id)]))]), sp.tez(0), sp.contract(sp.TList(sp.TRecord(from_ = sp.TAddress, txs = sp.TList(sp.TRecord(amount = sp.TNat, to_ = sp.TAddress, token_id = sp.TNat).layout(("to_", ("token_id", "amount"))))).layout(("from_", "txs"))), params.tokenAddress, entrypoint='transfer').open_some())
    - @sp.entry_point + @sp.entrypoint
    def sweepMutez(self, params):
      sp.set_type(params, sp.TBool)
      sp.if params:
        sp.send(self.data.administrator, sp.balance)
      sp.else:
        sp.send(self.data.administrator, sp.balance)

    - @sp.entry_point + @sp.entrypoint
    def transfer(self, params):
      sp.set_type(params, sp.TRecord(from_ = sp.TAddress, to_ = sp.TAddress, value = sp.TNat).layout(("from_ as from", ("to_ as to", "value")))) -
      sp.verify((params.from_ == sp.sender) | (self.data.balances[params.from_].approvals[sp.sender] >= params.value), 'CT_TRANSFER_NOT_APPROVED') -
      sp.if ~ (self.data.balances.contains(params.to_)): -
        self.data.balances[params.to_] = sp.record(accountBorrows = sp.record(interestIndex = 0, principal = 0), approvals = {}, balance = 0) -
      sp.transfer(sp.record(cToken = sp.self_address, src = params.from_, dst = params.to_, transferTokens = params.value), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, dst = sp.TAddress, src = sp.TAddress, transferTokens = sp.TNat).layout((("cToken", "src"), ("dst", "transferTokens"))), self.data.comptroller, entry_point='transferAllowed').open_some()) +
      sp.verify((params.from_ == sp.sender) | (self.data.ledger[params.from_].approvals[sp.sender] >= params.value), 'FA1.2_NotAllowed') +
      sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') +
      sp.if ~ (self.data.ledger.contains(params.to_)): +
        self.data.ledger[params.to_] = sp.record(approvals = {}, balance = 0) +
      sp.if ~ (self.data.borrows.contains(params.to_)): +
        self.data.borrows[params.to_] = sp.record(interestIndex = 0, principal = 0) +
      sp.transfer(sp.record(cToken = sp.self_address, dst = params.to_, src = params.from_, transferTokens = params.value), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, dst = sp.TAddress, src = sp.TAddress, transferTokens = sp.TNat).layout((("cToken", "src"), ("dst", "transferTokens"))), self.data.comptroller, entrypoint='transferAllowed').open_some())
      sp.set_type(sp.record(from_ = params.from_, sender = sp.sender, to_ = params.to_, value = params.value), sp.TRecord(from_ = sp.TAddress, sender = sp.TAddress, to_ = sp.TAddress, value = sp.TNat).layout((("from_", "sender"), ("to_", "value")))) -
      sp.verify(self.data.balances[params.from_].balance >= params.value, 'CT_INSUFFICIENT_BALANCE') -
      self.data.balances[params.from_].balance = sp.as_nat(self.data.balances[params.from_].balance - params.value) -
      self.data.balances[params.to_].balance += params.value +
      sp.verify(self.data.ledger[params.from_].balance >= params.value, 'FA1.2_InsufficientBalance') +
      self.data.ledger[params.from_].balance = sp.as_nat(self.data.ledger[params.from_].balance - params.value) +
      self.data.ledger[params.to_].balance += params.value
      sp.if params.from_ != sp.sender: -
        self.data.balances[params.from_].approvals[sp.sender] = sp.as_nat(self.data.balances[params.from_].approvals[sp.sender] - params.value)
    -
    - @sp.entry_point -
    def updateAccountSnapshot(self, params):
      sp.transfer((params, sp.self_entry_point('setAccountSnapshot')), sp.tez(0), sp.self_entry_point('getAccountSnapshot'))
    +
        self.data.ledger[params.from_].approvals[sp.sender] = sp.as_nat(self.data.ledger[params.from_].approvals[sp.sender] - params.value) +
        sp.if self.data.ledger[params.from_].approvals[sp.sender] == 0: +
          del self.data.ledger[params.from_].approvals[sp.sender]
    - @sp.entry_point -
    def updateBorrowRateInternal(self, params):
      sp.set_type(params, sp.TUnit) -
      sp.verify(sp.sender == sp.self_address, 'CT_INTERNAL_FUNCTION') -
      sp.verify(self.data.activeOperations.contains(6), 'OP_NOT_ACTIVE') -
      sp.transfer(sp.record(borrows = self.data.totalBorrows, cash = self.data.totalSupply // 1000000, cb = sp.self_entry_point('setBorrowRatePerBlock'), reserves = self.data.totalReserves), sp.tez(0), sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), self.data.interestRateModel, entry_point='getBorrowRate').open_some())
    -
    - @sp.entry_point -
    def updateBorrowRatePerBlock(self, params):
      sp.set_type(params, sp.TUnit) -
      sp.verify(sp.len(self.data.activeOperations) == 0, 'OP_IN_PROGRESS') -
      self.data.activeOperations.add(6) -
      sp.transfer(sp.unit, sp.tez(0), sp.self_entry_point('updateBorrowRateInternal'))
    + @sp.entrypoint +
    def updateAccountSnapshot(self, params):
      sp.transfer((params, sp.self_entrypoint('setAccountSnapshot')), sp.tez(0), sp.self_entrypoint('getAccountSnapshot'))

    - @sp.entry_point -
    def updateSupplyRateInternal(self, params):
      sp.set_type(params, sp.TUnit) -
      sp.verify(sp.sender == sp.self_address, 'CT_INTERNAL_FUNCTION') -
      sp.verify(self.data.activeOperations.contains(7), 'OP_NOT_ACTIVE') -
      sp.transfer(sp.record(borrows = self.data.totalBorrows, cash = self.data.totalSupply // 1000000, cb = sp.self_entry_point('setSupplyRatePerBlock'), reserves = self.data.totalReserves), sp.tez(0), sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), self.data.interestRateModel, entry_point='getSupplyRate').open_some())
    + @sp.entrypoint +
    def updateMetadata(self, params):
      sp.set_type(params, sp.TRecord(key = sp.TString, value = sp.TBytes).layout(("key", "value"))) +
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') +
      self.data.metadata[params.key] = params.value

    - @sp.entry_point -
    def updateSupplyRatePerBlock(self, params):
      sp.set_type(params, sp.TUnit) -
      sp.verify(sp.len(self.data.activeOperations) == 0, 'OP_IN_PROGRESS') -
      self.data.activeOperations.add(7) -
      sp.transfer(sp.unit, sp.tez(0), sp.self_entry_point('updateSupplyRateInternal'))
    - + @sp.entrypoint +
    def updateProtocolSeizeShare(self, params):
      sp.set_type(params, sp.TNat) +
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') +
      self.data.protocolSeizeShareMantissa = params
    +
    +
    sp.add_compilation_target("test", Contract()) +

    Try borrow when there is no cash

    -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INSUFFICIENT_CASH'
    ()
    - -

    Test mint

    - +
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INSUFFICIENT_CASH'
    ()
    -

    Mint allowed

    - - -

    call mint with old accrue interest

    - -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTEREST_OLD'
    ()
    - - -

    call mint with relevant accrue interest

    +

    Test getAccountSnapshot for nonexistent account

    -
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TPair(sp.TAddress, sp.TContract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))))), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    AccBorrowBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9Csp.contract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + +
    KeyInterestIndexPrincipal
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount"))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    - -
    CTokenMinterMintAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Storage:

    +
    AccBorrowBalanceBalance
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%getAccountSnapshot ((sp.address('tz1Rp4B...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9Csp.contract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    + + +
    AccountBorrowBalanceCTokenBalanceExchangeRateMantissa
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + +
    KeyInterestIndexPrincipal
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%mintAllowed (sp.record(cToken = s...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    - -
    CTokenMinterMintAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    - - -
    Borrow_allowedMint_allowedRedeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    - - -

    Mint not allowed

    - -
    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    False

    Balance: 0.000000tz

    Operations:

    Storage:

    - - -
    Borrow_allowedMint_allowedRedeem_allowedRepay_borrow_allowed
    TrueFalseTrueTrue
    ()
    -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    - - -
    BorrowsCashCbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    AccBorrowBalanceBalance
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setAccountSnapshot (sp.record(account = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%getAccountSnapshot ((sp.address('tz1Rp4B...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    + + +
    AccountBorrowBalanceCTokenBalanceExchangeRateMantissa
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C

    Balance: 0.000000tz

    Operations:

    Storage:

    + + + + + + + + + + + + + + + + + + + + + + + + +
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + +
    KeyInterestIndexPrincipal
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + +
    KeyApprovalsBalance
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    + + + + +

    Test mint

    + + +

    Mint allowed

    + + +

    call mint with old accrue interest

    + +
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTEREST_OLD'
    ()
    + +

    call mint with relevant accrue interest

    + +
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    + + + + + + + + + + + + + + + + + + + + + + + + +
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + +
    KeyInterestIndexPrincipal
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + +
    KeyApprovalsBalance
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount"))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    + +
    CTokenMinterMintAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Storage:

    + + + + + + + + + + + + + + + + + + + + + + + + +
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + +
    KeyInterestIndexPrincipal
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + +
    KeyApprovalsBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%mintAllowed (sp.record(cToken = s...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    + +
    CTokenMinterMintAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    + + +
    Borrow_allowedMint_allowedRedeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    + + +

    Mint not allowed

    + +
    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    False

    Balance: 0.000000tz

    Operations:

    Storage:

    + + +
    Borrow_allowedMint_allowedRedeem_allowedRepay_borrow_allowed
    TrueFalseTrueTrue
    ()
    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    + + + + + + + + + + + + + + + + + + + + + + + + +
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + +
    KeyInterestIndexPrincipal
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + +
    KeyApprovalsBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    + + +
    BorrowsCashCbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + +
    KeyInterestIndexPrincipal
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    +
    BorrowsBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + +
    KeyInterestIndexPrincipal
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () +
    Balance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Reverted transaction
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount"))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    CToken Minter MintAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + +
    KeyInterestIndexPrincipal
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () +
    Balance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%mintAllowed (sp.record(cToken = s...)

    Transaction [KO] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    -
    CToken MinterMintAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Error:

    Wrong condition:
    ()
    - +MintAmountKT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Error:

    Wrong condition:
    () +

    Mint allowed again

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    True

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    +
    BorrowsRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    + + + + + + + + + + + + + + + + + + + + + + + + +
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + +
    KeyInterestIndexPrincipal
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + +
    KeyApprovalsBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    Borrows Cash Cb Reserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + +
    KeyInterestIndexPrincipal
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    +
    BorrowsBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + +
    KeyInterestIndexPrincipal
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () +
    Balance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Multiple operations
    Transaction

    Transaction [OK] by [tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount"))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    CToken Minter MintAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%mintAllowed (sp.record(cToken = s...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    CToken Minter MintAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +Repay_borrow_allowedTrueTrueTrueTrue
    () - +

    Try mint in callback

    Reverted transaction
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%mint (1100)

    Transaction [KO] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTERNAL_CALL'
    ()
    - +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%mint (1100)

    Transaction [KO] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTERNAL_CALL'
    ()
    +

    Test Borrow

    - +

    Borrow allowed

    -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    Borrows
    + + + + + + + + + + + + + + + + + + + + + + + + +
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + + +
    KeyApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C +
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    Borrows Cash Cb Reserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    +
    Borrows
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    ()
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    - +Repay_borrow_allowedTrueTrueTrueTrue() +

    call borrow with relevant account liquidity, asset price and accrue interest

    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrowAmount = sp.TNat, borrower = sp.TAddress, cToken = sp.TAddress).layout(("cToken", ("borrower", "borrowAmount"))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    @@ -3315,527 +3558,762 @@

    call borrow with relevant account liquidity, asset price and accrue interest

    - - + - + + + + -
    CTokenAccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () +
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%borrowAllowed (sp.record(cToken = s...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    CToken Borrower BorrowAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    - - +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +

    call borrow with old account liquidity

    -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTEREST_OLD'
    ()
    +
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTEREST_OLD'
    ()
    - +

    Borrow not allowed

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    False

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    FalseTrueTrueTrue
    ()
    -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    +
    BorrowsRepay_borrow_allowed
    FalseTrueTrueTrue
    ()
    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    + + + + + + + + + + + + + + + + + + + + + + + + +
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + + + +
    KeyApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C +
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    Borrows Cash Cb Reserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    +
    Borrows
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Reverted transaction
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrowAmount = sp.TNat, borrower = sp.TAddress, cToken = sp.TAddress).layout(("cToken", ("borrower", "borrowAmount"))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    - -
    CTokenBorrowerBorrowAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58

    Storage:

    +
    AccBorrowBalance
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTEREST_OLD'
    ()
    + +

    Borrow allowed again

    + +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%borrowAllowed (sp.record(cToken = s...)

    Transaction [KO] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    - -
    CTokenBorrowerBorrowAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58

    Balance: 0.000000tz

    Error:

    Wrong condition:
    ()
    - -

    Borrow allowed again

    - -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    +
    Borrows
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    Borrows Cash Cb Reserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    +
    Borrows
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () +
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    FalseTrueTrueTrue
    ()
    +
    Repay_borrow_allowed
    FalseTrueTrueTrue
    ()
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    FalseTrueTrueTrue
    ()
    +
    Repay_borrow_allowed
    FalseTrueTrueTrue
    ()
    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    True

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    ()
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrowAmount = sp.TNat, borrower = sp.TAddress, cToken = sp.TAddress).layout(("cToken", ("borrower", "borrowAmount"))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    CToken Borrower BorrowAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () +
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%borrowAllowed (sp.record(cToken = s...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    CToken Borrower BorrowAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    ()
    - +

    Try borrow with insufficient cash

    -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    Borrows
    + + + + + + + + + + + + + + + + + + + + + + + + +
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + + + +
    KeyApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C +
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    Borrows Cash Cb Reserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    +
    Borrows
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INSUFFICIENT_CASH'
    ()
    - +
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INSUFFICIENT_CASH'
    ()
    +

    Try borrow in callback

    Reverted transaction
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%borrow (1100)

    Transaction [KO] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTERNAL_CALL'
    ()
    - +
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%borrow (1100)

    Transaction [KO] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTERNAL_CALL'
    ()
    +

    Test Redeem

    - +

    Redeem allowed

    -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    Borrows
    + + + + + + + + + + + + + + + + + + + + + + + + +
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + + + +
    KeyApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C +
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    Borrows Cash Cb Reserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    +
    Borrows
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () +
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    ()
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    - +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    () +

    call redeem with relevant account liquidity, asset price and accrue interest

    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    @@ -3844,712 +4322,1074 @@

    call redeem with relevant account liquidity, asset price and accrue interest

    - - + - + + + + -
    CTokenAccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () +
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%redeemAllowed (sp.record(cToken = s...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    CToken Redeemer RedeemAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    - - +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +

    call redeem with old account liquidity

    -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTEREST_OLD'
    ()
    +
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTEREST_OLD'
    ()
    - +

    Redeem not allowed

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    False

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueFalseTrue
    ()
    -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    +
    BorrowsRepay_borrow_allowed
    TrueTrueFalseTrue
    ()
    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    + + + + + + + + + + + + + + + + + + + + + + + + +
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + + + +
    KeyApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C +
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    Borrows Cash Cb Reserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    +
    Borrows
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () +
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueFalseTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueFalseTrue
    ()
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueFalseTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueFalseTrue
    ()
    Reverted transaction
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    CToken Redeemer RedeemAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () +
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%redeemAllowed (sp.record(cToken = s...)

    Transaction [KO] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    -
    CToken RedeemerRedeemAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Error:

    Wrong condition:
    ()
    - +
    RedeemAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Error:

    Wrong condition:
    ()
    +

    Redeem allowed again

    -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    Borrows
    + + + + + + + + + + + + + + + + + + + + + + + + +
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + + + +
    KeyApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C +
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    Borrows Cash Cb Reserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    +
    Borrows
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () +
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueFalseTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueFalseTrue
    ()
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueFalseTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueFalseTrue
    ()
    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    True

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    ()
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    CToken Redeemer RedeemAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () +
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%redeemAllowed (sp.record(cToken = s...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    CToken Redeemer RedeemAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    ()
    - +

    Try redeem with insufficient balance

    -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    Borrows
    + + + + + + + + + + + + + + + + + + + + + + + + +
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + + + +
    KeyApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C +
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    Borrows Cash Cb Reserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    +
    Borrows
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () +
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    ()
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Not the proper variant constructor [Some] != [None]

    Message: 'Insufficient balance'
    ()
    - +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    () +
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Not the proper variant constructor [Some] != [None]

    Message: 'Insufficient balance'
    ()
    +

    Redeem underlying

    -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    Borrows
    + + + + + + + + + + + + + + + + + + + + + + + + +
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + + + +
    KeyApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C +
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    Borrows Cash Cb Reserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    +
    Borrows
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    + -
    Key
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Key Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () +
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    ()
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    ()
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    CToken Redeemer RedeemAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%redeemAllowed (sp.record(cToken = s...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    CToken Redeemer RedeemAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    ()
    - +

    Try redeem in callback

    Reverted transaction
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeem (1030)

    Transaction [KO] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTERNAL_CALL'
    ()
    - +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeem (1030)

    Transaction [KO] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTERNAL_CALL'
    ()
    +

    Try redeem underlying in callback

    Reverted transaction
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeemUnderlying (1030)

    Transaction [KO] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTERNAL_CALL'
    ()
    - +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeemUnderlying (1030)

    Transaction [KO] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTERNAL_CALL'
    ()
    +

    Test Repay borrow

    - +

    Repay borrow allowed

    - +

    call repayBorrow with old accrue interest

    -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTEREST_OLD'
    ()
    - - +
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTEREST_OLD'
    ()
    +

    call repayBorrow with relevant accrue interest

    -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    Borrows
    + + + + + + + + + + + + + + + + + + + + + + + + +
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + + + +
    KeyApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C +
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    Borrows Cash Cb Reserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    + +
    Borrows
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    @@ -4557,130 +5397,201 @@

    call repayBorrow with relevant accrue interest

    - - + - + + + + -
    CToken Payer Borrower AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%repayBorrowAllowed (sp.record(cToken = s...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    CToken Payer Borrower RepayAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwitz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    ()
    - +

    Repay borrow not allowed

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    False

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueFalse
    ()
    -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    +
    BorrowsRepay_borrow_allowed
    TrueTrueTrueFalse
    ()
    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    + + + + + + + + + + + + + + + + + + + + + + + + +
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + + + +
    KeyApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C +
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    Borrows Cash Cb Reserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    + +
    Borrows
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Reverted transaction
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    @@ -4688,126 +5599,197 @@

    Repay borrow not allowed

    - - + - + + + + -
    CToken Payer Borrower AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%repayBorrowAllowed (sp.record(cToken = s...)

    Transaction [KO] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    -
    CToken Payer BorrowerRepayAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwitz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Error:

    Wrong condition:
    ()
    - +
    RepayAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwitz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Error:

    Wrong condition:
    ()
    +

    Repay borrow allowed again

    -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    Borrows
    + + + + + + + + + + + + + + + + + + + + + + + + +
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + + + +
    KeyApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C +
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    Borrows Cash Cb Reserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    + +
    Borrows
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    True

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    ()
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    @@ -4815,126 +5797,197 @@

    Repay borrow allowed again

    - - + + + + + + + + + + + + + + + + +
    CToken Payer Borrower AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + + + +
    KeyApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C +
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%repayBorrowAllowed (sp.record(cToken = s...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    + + +
    CTokenPayerBorrowerRepayAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwitz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    + + +
    Borrow_allowedMint_allowedRedeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    + + +

    Repay borrow behalf

    + +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    + + + + + + + + + - + + + + -
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%repayBorrowAllowed (sp.record(cToken = s...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    - - -
    CTokenPayerBorrowerRepayAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwitz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    - - -
    Borrow_allowedMint_allowedRedeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    - - -

    Repay borrow behalf

    - -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    + +
    Borrows
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    Borrows Cash Cb Reserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    + +
    Borrows
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Multiple operations
    Transaction

    Transaction [OK] by [tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Borrower RepayAmount
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    @@ -4943,227 +5996,322 @@

    Repay borrow behalf

    - - + - + + + + -
    CToken Payer AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%repayBorrowAllowed (sp.record(cToken = s...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    CToken Payer Borrower RepayAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9Ctz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    ()
    - +

    Repay more than borrowed

    -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    Borrows
    + + + + + + + + + + + + + + + + + + + + + + + + +
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + + + +
    KeyApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C +
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    Borrows Cash Cb Reserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    + +
    Borrows
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    + +
    CToken
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    -
    CToken Payer BorrowerRepayAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwitz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Storage:

    +
    AccBorrowBalanceRepayAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwitz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    Transfer 0.000000tz to sp.contract(sp.TAddress, KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%repayBorrowAllowed (sp.record(cToken = s...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    -
    CToken Payer BorrowerRepayAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwitz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    Borrow_allowedRepayAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwitz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%removeFromLoans (sp.address('tz1WxrQu...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    + + +
    Borrow_allowedMint_allowedRedeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    - + +

    Try repayBorrow in callback

    Reverted transaction
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeem (1030)

    Transaction [KO] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTERNAL_CALL'
    ()
    - +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeem (1030)

    Transaction [KO] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTERNAL_CALL'
    ()
    +

    Test transfer

    - +

    No tokens to transfer

    Reverted transaction
    Transaction

    Transaction [KO] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    -
    From ToValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INSUFFICIENT_BALANCE'
    ()
    - +
    Value
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'FA1.2_InsufficientBalance'
    ()
    +

    No approved tokens to transfer

    Reverted transaction
    Transaction

    Transaction [KO] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    -
    From ToValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwitz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58

    Balance: 0.000000tz

    Error:

    Missing item in map: sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58') is not in {} while evaluating self.data.balances[params.from_].approvals[sp.sender]
    ()
    - +
    Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwitz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58

    Balance: 0.000000tz

    Error:

    Missing item in map: sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58') is not in {} while evaluating self.data.ledger[params.from_].approvals[sp.sender]
    ()
    +

    Transfer successfully

    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    @@ -5175,82 +6323,100 @@

    Transfer successfully

    - - + - + + + + -
    From AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%transferAllowed (sp.record(cToken = s...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    CToken Src Dst TransferTokens
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwitz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    ()
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58sp.contract(sp.TNat, KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () -
    Transaction
    Follow-up-transfer: KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat (100)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    Balance: 0.000000tz

    Operations:

    Storage:

    Last
    ()
    - - +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat (100)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    Balance: 0.000000tz

    Operations:

    Storage:

    Last
    ()
    + +

    Approve and transfer successfully

    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    @@ -5258,74 +6424,92 @@

    Approve and transfer successfully

    - - + - + + + + -
    Spender AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Multiple operations
    Transaction

    Transaction [OK] by [tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Owner Spender
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    sp.contract(sp.TNat, KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () -
    Transaction
    Follow-up-transfer: KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat (100)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    Balance: 0.000000tz

    Operations:

    Storage:

    Last
    ()
    +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat (100)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    Balance: 0.000000tz

    Operations:

    Storage:

    Last
    ()
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    @@ -5336,1870 +6520,2185 @@

    Approve and transfer successfully

    - - + - + + + + -
    From To AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%transferAllowed (sp.record(cToken = s...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    CToken Src Dst TransferTokens
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    Borrow_allowed Mint_allowed Redeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Repay_borrow_allowed
    TrueTrueTrueTrue
    ()
    - +

    Admin functions

    - +

    Pending governance

    - +

    Common user attempts to set pending governance

    -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_NOT_ADMIN'
    ()
    - +
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_NOT_ADMIN'
    ()
    +

    Admin attempts to set pending governance

    Transaction

    Transaction [OK] by [tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    () - +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +

    Accept governance

    - +

    Not pending admin attempts to accept governance

    -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_NOT_PENDING_ADMIN'
    ()
    - +
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_NOT_PENDING_ADMIN'
    ()
    +

    Pending admin attempts to accept governance

    Transaction

    Transaction [OK] by [tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C - + +
    KeyAccountBorrowsTotalSupply
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction

    Transaction [OK] by [tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C - + +
    KeyAccountBorrowsTotalSupply
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction

    Transaction [OK] by [tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () - +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +

    Remove pending governance

    Transaction

    Transaction [OK] by [tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    () - +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +

    Common user attempts to remove pending governance

    -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_NOT_ADMIN'
    ()
    - +
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_NOT_ADMIN'
    ()
    +

    Admin attempts to remove pending governance

    Transaction

    Transaction [OK] by [tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    - +

    Set comptroller

    - +

    Common user attempts to set comptroller

    -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_NOT_ADMIN'
    ()
    - +
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_NOT_ADMIN'
    ()
    +

    Admin attempts to set comptroller

    Transaction

    Transaction [OK] by [tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    - +

    Set interest rate model

    - +

    Common user attempts to set interest rate model

    -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_NOT_ADMIN'
    ()
    - +
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_NOT_ADMIN'
    ()
    +

    Admin attempts to set interest rate model

    Multiple operations
    Transaction

    Transaction [OK] by [tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TUnit, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    Transfer 0.000000tz to sp.contract(sp.TAddress, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    Storage:

    - - + + + + + + + + + + + + + + + + +
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    9
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + + + +
    KeyApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C +
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    + + + + + + + + + - + + + + -
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    9
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    +
    8
    9
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    + +
    Borrows
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    Borrows Cash Cb Reserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    -
    8
    9
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    +
    8
    9
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    + +
    Borrows
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit))))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    9
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    9
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setInterestRateModelInternal (sp.address('KT1Tezoo...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    - +

    Set reserve factor

    - +

    Common user attempts to Set reserve factor

    -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_NOT_ADMIN'
    ()
    - +
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_NOT_ADMIN'
    ()
    +

    Admin attempts to Set reserve factor

    Multiple operations
    Transaction

    Transaction [OK] by [tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TUnit, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    10
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    10
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    - - -
    BorrowsCashCbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    + +
    AccBorrowBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    -
    8
    10
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    10
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    - - -
    BorrowsCashCbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    + +
    AccBorrowBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setReserveFactorInternal (1)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    10
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setReserveFactorInternal (1)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    + +
    AccBorrowBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () + + +

    Add reserves

    + +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TUnit, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    Transfer 0.000000tz to sp.contract(sp.TRecord(addAmount = sp.TNat, originalSender = sp.TAddress).layout(("addAmount", "originalSender")), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    +
    AddAmountOriginalSender
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    11
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () - - -

    Add reserves

    - -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TUnit, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    Transfer 0.000000tz to sp.contract(sp.TRecord(addAmount = sp.TNat, originalSender = sp.TAddress).layout(("addAmount", "originalSender")), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    -
    AddAmountOriginalSender
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Storage:

    + +
    AccBorrowBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    11
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    +
    8
    11
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    + +
    Borrows
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    Borrows Cash Cb Reserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    -
    8
    11
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    +
    8
    11
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    + +
    Borrows
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit))))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    11
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    11
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%addReservesInternal (sp.record(addAmount ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    AddAmount OriginalSender
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () - +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +

    Try add reserves in callback

    Reverted transaction
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%addReserves (1030)

    Transaction [KO] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTERNAL_CALL'
    ()
    - +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%addReserves (1030)

    Transaction [KO] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTERNAL_CALL'
    ()
    +

    Reduce reserves

    - +

    Common user attempts to reduce reserves

    -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_NOT_ADMIN'
    ()
    - +
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_NOT_ADMIN'
    ()
    +

    Admin attempts to reduce reserves

    Multiple operations
    Transaction

    Transaction [OK] by [tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TUnit, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    12
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    12
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    - - -
    BorrowsCashCbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    + +
    AccBorrowBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    -
    8
    12
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    +
    8
    12
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    + +
    Borrows
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - - - - - - - - - - - - - - - - - - - - - -
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberAccrualIntPeriodRelevanceActiveOperationsAdministratorBalancesBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelIsAccrualInterestValidPendingAdministratorReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockTotalBorrowsTotalReservesTotalSupply
    12
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - - - - -
    KeyAccountBorrowsApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%reduceReservesInternal (5)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - - - - - - - - - - - - - - - - - - - - - -
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberAccrualIntPeriodRelevanceActiveOperationsAdministratorBalancesBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelIsAccrualInterestValidPendingAdministratorReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockTotalBorrowsTotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - - - - -
    KeyAccountBorrowsApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    ()
    - -

    Try to reduce insufficient

    - -
    Reverted transaction
    Transaction

    Transaction [OK] by [tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TUnit, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    12
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    +
    8
    12
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    + +
    Borrows
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit))))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    -
    8
    12
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    12
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    - - -
    BorrowsCashCbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    + +
    AccBorrowBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%reduceReservesInternal (5)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    12
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%reduceReservesInternal (10000000000000000000...)

    Transaction [KO] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INSUFFICIENT_CASH'
    ()
    - -

    Check hardResetOp

    +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    + +

    Try to reduce insufficient

    -
    Transaction

    Transaction [OK] by [tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    Reverted transaction
    Transaction

    Transaction [OK] by [tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TUnit, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    AccBorrowBalance
    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    1
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    12
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () - - -

    Common user attempts to hardResetOp

    - -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_NOT_ADMIN'
    ()
    - -

    Admin attempts to hardResetOp

    - -
    Transaction

    Transaction [OK] by [tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    + +
    AccBorrowBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    +
    8
    12
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () - - -

    Test getBalanceOfUnderlying

    - - -

    View stored balance

    - -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwisp.contract(sp.TNat, KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1).open_some()

    Storage:

    + +
    AccBorrowBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    + + +
    BorrowsCashCbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    +
    8
    12
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () -
    Transaction
    Follow-up-transfer: KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat (30)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    Balance: 0.000000tz

    Operations:

    Storage:

    Last
    ()
    - - -

    Mint new tokens and check balance

    - -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    + +
    Borrows
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit)))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterest (sp.unit))))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    12
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    - - -
    BorrowsCashCbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    + +
    AccBorrowBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%reduceReservesInternal (10000000000000000000...)

    Transaction [KO] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INSUFFICIENT_CASH'
    ()
    + +

    Check hardResetOp

    + +
    Transaction

    Transaction [OK] by [tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    1
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount"))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    - -
    CTokenMinterMintAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Storage:

    + +
    AccBorrowBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () + + +

    Common user attempts to hardResetOp

    + +
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_NOT_ADMIN'
    ()
    + +

    Admin attempts to hardResetOp

    + +
    Transaction

    Transaction [OK] by [tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%mintAllowed (sp.record(cToken = s...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    - -
    CTokenMinterMintAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    - - -
    Borrow_allowedMint_allowedRedeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwisp.contract(sp.TNat, KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1).open_some()

    Storage:

    + +
    AccBorrowBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () + + +

    Test getBalanceOfUnderlying

    + + +

    View stored balance

    + +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwisp.contract(sp.TNat, KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HFalse
    () -
    Transaction
    Follow-up-transfer: KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat (130)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    Balance: 0.000000tz

    Operations:

    Storage:

    Last
    ()
    - - -

    Try with nonexistent account

    - -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    KT10sp.contract(sp.TNat, KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1).open_some()

    Balance: 0.000000tz

    Error:

    Missing item in map: sp.address('KT10') is not in {sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C') : sp.record(accountBorrows = sp.record(interestIndex = 0, principal = 0), approvals = {}, balance = 1000000000), sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi') : sp.record(accountBorrows = sp.record(interestIndex = 1000047041005493033, principal = 0), approvals = {}, balance = 129723818), sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58') : sp.record(accountBorrows = sp.record(interestIndex = 1000005880011289607, principal = 10), approvals = {sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi') : 0}, balance = 0)} while evaluating self.data.balances[sp.fst(params)]
    ()
    - -

    Test getAccountSnapshot

    +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat (30)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    Balance: 0.000000tz

    Operations:

    Storage:

    Last
    ()
    + + +

    Mint new tokens and check balance

    -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    - - -
    BorrowsCashCbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    AccBorrowBalance
    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    + +
    Borrows
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (840000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TPair(sp.TAddress, sp.TContract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))))), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwisp.contract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    + +
    AccBorrowBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    + + +
    BorrowsCashCbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%getAccountSnapshot ((sp.address('tz1WxrQ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwisp.contract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    - - -
    AccountBorrowBalanceCTokenBalanceExchangeRateMantissa
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Storage:

    + +
    AccBorrowBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount"))), KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF).open_some()
    + +
    CTokenMinterMintAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setAccountSnapshot (sp.record(account = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%getAccountSnapshot ((sp.address('tz1WxrQ...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    - - -
    AccountBorrowBalanceCTokenBalanceExchangeRateMantissa
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    + +
    AccBorrowBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%mintAllowed (sp.record(cToken = s...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF

    + +
    CTokenMinterMintAmount
    KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWCtz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    + + +
    Borrow_allowedMint_allowedRedeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    ()
    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwisp.contract(sp.TNat, KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () - - - - -

    Test updateBorrowRatePerBlock

    +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    +
    Transaction
    Follow-up-transfer: KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat (130)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    Balance: 0.000000tz

    Operations:

    Storage:

    Last
    ()
    + + +

    Try with nonexistent account

    - -

    Updated

    +
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    KT10sp.contract(sp.TNat, KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1).open_some()

    Balance: 0.000000tz

    Error:

    Missing item in map: sp.address('KT10') is not in {sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C') : sp.record(approvals = {}, balance = 1000000000), sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi') : sp.record(approvals = {}, balance = 129723817), sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58') : sp.record(approvals = {}, balance = 0)} while evaluating self.data.ledger[sp.fst(params)]
    ()
    + +

    Test getAccountSnapshot

    -
    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TUnit, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TContract(sp.TNat), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    AccBorrowBalance
    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    6
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%updateBorrowRateInternal (sp.unit)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    + +
    Borrows
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    Borrows Cash Cb Reserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    6
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    8
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%updateBorrowRateInternal (sp.unit))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    + +
    Borrows
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    -
    Borrows Cash CbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setBorrowRatePerBlock (90000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%updateBorrowRateInternal (sp.unit)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    +
    AccBorrowBalanceReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    +
    BorrowRateSupplyRate
    ()
    +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal (sp.contract(sp.TNat,...)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () - - -

    Try internal

    - -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTERNAL_FUNCTION'
    ()
    - -

    Try set directly

    - -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_SENDER_NOT_IRM'
    ()
    - -

    Test updateSupplyRatePerBlock

    - - -

    Updated

    - -
    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TUnit, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    + +
    AccBorrowBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Multiple operations
    Transaction

    Transaction [OK] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TPair(sp.TAddress, sp.TContract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))))), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwisp.contract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    7
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%updateSupplyRateInternal (sp.unit)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H).open_some()
    - - -
    BorrowsCashCbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    + +
    AccBorrowBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%getAccountSnapshot ((sp.address('tz1WxrQ...)

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwisp.contract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))), KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()
    + + +
    AccountBorrowBalanceCTokenBalanceExchangeRateMantissa
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    7
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () -
    Transaction
    Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getSupplyRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%updateSupplyRateInternal (sp.unit))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H

    - - -
    BorrowsCashCbReserves
    sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Balance: 0.000000tz

    Operations:

    Transfer 0.000000tz to sp.contract(sp.TNat, KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC).open_some()

    Storage:

    -
    BorrowRateSupplyRate
    ()
    -
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setSupplyRatePerBlock (80000000000) (Follow-up-transfer: KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getSupplyRate (sp.record(borrows = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%updateSupplyRateInternal (sp.unit)))

    Transaction [OK] by [KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Operations:

    Storage:

    + +
    AccBorrowBalance
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    () +
    Transaction
    Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setAccountSnapshot (sp.record(account = ...) (Follow-up-transfer: KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%getAccountSnapshot ((sp.address('tz1WxrQ...))

    Transaction [OK] by [KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    + + +
    AccountBorrowBalanceCTokenBalanceExchangeRateMantissa
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi

    Balance: 0.000000tz

    Operations:

    Storage:

    - - + - + + + + -
    AccBorrowBalance AccCTokenBalance AccExchangeRateMantissa AccrualBlockNumberAccrualIntPeriodRelevance ActiveOperations AdministratorBalances BorrowIndex BorrowRateMaxMantissa BorrowRatePerBlockBorrows Comptroller ExpScale HalfExpScale InitialExchangeRateMantissa InterestRateModelIsAccrualInterestValidLedgerMetadata PendingAdministratorProtocolSeizeShareMantissa ReserveFactorMantissa ReserveFactorMaxMantissa SupplyRatePerBlockToken_metadata TotalBorrows TotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 - + +
    KeyAccountBorrowsTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + + + +
    KeyInterestIndexPrincipal
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H -
    Key ApprovalsBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C -
    InterestIndexPrincipal
    + - -
    KeyBalance
    tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C
    Key Value
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi -
    InterestIndexPrincipal
    -
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 -
    InterestIndexPrincipal
    -
    KeyValue
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4HTrue
    () +
    tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi +
    KeyValue
    tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58 +
    KeyValue
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    ()
    - -

    Try internal

    -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_INTERNAL_FUNCTION'
    ()
    - -

    Try set directly

    -
    Reverted transaction
    Transaction

    Transaction [KO] by [tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi] at time [timestamp(0)] to KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'CT_SENDER_NOT_IRM'
    ()
    \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/log.txt b/TezFinTest/CToken_Tests/log.txt index ecb906d1..eff50bdc 100644 --- a/TezFinTest/CToken_Tests/log.txt +++ b/TezFinTest/CToken_Tests/log.txt @@ -4,6 +4,7 @@ Table Of Contents # Accounts # Contracts # Try borrow when there is no cash +# Test getAccountSnapshot for nonexistent account # Test mint ## Mint allowed ### call mint with old accrue interest @@ -76,877 +77,969 @@ Table Of Contents ## Mint new tokens and check balance ## Try with nonexistent account # Test getAccountSnapshot -# Test updateBorrowRatePerBlock -## Updated -## Try internal -## Try set directly -# Test updateSupplyRatePerBlock -## Updated -## Try internal -## Try set directly Comment... h1: CToken tests Comment... h2: Accounts Computing sp.list([sp.test_account("Alice"), sp.test_account("Bob"), sp.test_account("admin")])... - => sp.list([sp.record(seed = 'Alice', address = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), public_key = sp.key('edpkuvNy6TuQ2z8o9wnoaTtTXkzQk7nhegCHfxBc4ecsd4qG71KYNG'), public_key_hash = sp.key_hash('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), secret_key = sp.secret_key('edskRijgcXx8gzqkq7SCBbrb6aDZQMmP6dznCQWgU1Jr4qPfJT1yFq5A39ja9G4wahS8uWtBurZy14Hy7GZkQh7WnopJTKtCQG')), sp.record(seed = 'Bob', address = sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C'), public_key = sp.key('edpkufVmvzkm4oFQ7WcF5NJbq9BFB2mWRsm4Dyh2spMDuDxWSQWHuT'), public_key_hash = sp.key_hash('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C'), secret_key = sp.secret_key('edskRq1xuW7TCYzdFm1JQLi1Hz4MNDVP6ukQHVEEh3bVqyuzv7pXXjaGsXZuMbwtd3kQFp3LQ7GQzkLeprNEijKhQKzsxrYrUz')), sp.record(seed = 'admin', address = sp.address('tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5'), public_key = sp.key('edpkthtmpNV7DzPgvsU5ktVkfYbARpb2nzDbncU8mdbMeXGRhGTjN7'), public_key_hash = sp.key_hash('tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5'), secret_key = sp.secret_key('edskRjPeZkNsmeJ8aAzs5vyXVhP7DVRvG6nM1ReNfjzkR3h6ykbf71mPxQyE5HU9FHrV3EdrY4GVCSBWhU44v6bnhQGrKM9Cs8'))]) + => [sp.record(seed = 'Alice', address = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), public_key = sp.key('edpkuvNy6TuQ2z8o9wnoaTtTXkzQk7nhegCHfxBc4ecsd4qG71KYNG'), public_key_hash = sp.key_hash('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), secret_key = sp.secret_key('edskRijgcXx8gzqkq7SCBbrb6aDZQMmP6dznCQWgU1Jr4qPfJT1yFq5A39ja9G4wahS8uWtBurZy14Hy7GZkQh7WnopJTKtCQG')), sp.record(seed = 'Bob', address = sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C'), public_key = sp.key('edpkufVmvzkm4oFQ7WcF5NJbq9BFB2mWRsm4Dyh2spMDuDxWSQWHuT'), public_key_hash = sp.key_hash('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C'), secret_key = sp.secret_key('edskRq1xuW7TCYzdFm1JQLi1Hz4MNDVP6ukQHVEEh3bVqyuzv7pXXjaGsXZuMbwtd3kQFp3LQ7GQzkLeprNEijKhQKzsxrYrUz')), sp.record(seed = 'admin', address = sp.address('tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5'), public_key = sp.key('edpkthtmpNV7DzPgvsU5ktVkfYbARpb2nzDbncU8mdbMeXGRhGTjN7'), public_key_hash = sp.key_hash('tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5'), secret_key = sp.secret_key('edskRjPeZkNsmeJ8aAzs5vyXVhP7DVRvG6nM1ReNfjzkR3h6ykbf71mPxQyE5HU9FHrV3EdrY4GVCSBWhU44v6bnhQGrKM9Cs8'))] Comment... h2: Contracts -Creating contract +Creating contract KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1 -> None - => ../TezFinTest/CToken_Tests/step_005_cont_0_storage.tz 1 - => ../TezFinTest/CToken_Tests/step_005_cont_0_storage.json 1 - => ../TezFinTest/CToken_Tests/step_005_cont_0_sizes.csv 2 - => ../TezFinTest/CToken_Tests/step_005_cont_0_storage.py 1 - => ../TezFinTest/CToken_Tests/step_005_cont_0_types.py 7 - => ../TezFinTest/CToken_Tests/step_005_cont_0_contract.tz 20 - => ../TezFinTest/CToken_Tests/step_005_cont_0_contract.json 19 - => ../TezFinTest/CToken_Tests/step_005_cont_0_contract.py 15 - => ../TezFinTest/CToken_Tests/step_005_cont_0_contract.py.html 2097 -Creating contract - -> (Pair (Pair True True) (Pair True True)) - => ../TezFinTest/CToken_Tests/step_006_cont_1_storage.tz 1 - => ../TezFinTest/CToken_Tests/step_006_cont_1_storage.json 1 - => ../TezFinTest/CToken_Tests/step_006_cont_1_sizes.csv 2 - => ../TezFinTest/CToken_Tests/step_006_cont_1_storage.py 1 - => ../TezFinTest/CToken_Tests/step_006_cont_1_types.py 7 - => ../TezFinTest/CToken_Tests/step_006_cont_1_contract.tz 253 - => ../TezFinTest/CToken_Tests/step_006_cont_1_contract.json 532 - => ../TezFinTest/CToken_Tests/step_006_cont_1_contract.py 125 - => ../TezFinTest/CToken_Tests/step_006_cont_1_contract.py.html 2181 -Creating contract - -> (Pair 840000000000 180000000000) - => ../TezFinTest/CToken_Tests/step_007_cont_2_storage.tz 1 - => ../TezFinTest/CToken_Tests/step_007_cont_2_storage.json 1 - => ../TezFinTest/CToken_Tests/step_007_cont_2_sizes.csv 2 - => ../TezFinTest/CToken_Tests/step_007_cont_2_storage.py 1 - => ../TezFinTest/CToken_Tests/step_007_cont_2_types.py 7 - => ../TezFinTest/CToken_Tests/step_007_cont_2_contract.tz 50 - => ../TezFinTest/CToken_Tests/step_007_cont_2_contract.json 116 - => ../TezFinTest/CToken_Tests/step_007_cont_2_contract.py 27 - => ../TezFinTest/CToken_Tests/step_007_cont_2_contract.py.html 2107 -Creating contract - -> (Pair (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 0 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {} 1000000000000000000)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 0 (Pair 0 0))))) {Elt 0 { UNPAIR; IF_LEFT { IF_LEFT { IF_LEFT { DROP } { PUSH int -1; FAILWITH } } { PUSH int -1; FAILWITH } } { PUSH int -1; FAILWITH }; DUP; GET 3; GET 6; IF_NONE { PUSH string "CT_NOT_SET_PENDING_ADMIN"; FAILWITH } {}; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_NOT_PENDING_ADMIN"; FAILWITH }; DUP; UNPAIR; UNPAIR; SWAP; UNPAIR; CDR; DIG 4; GET 3; GET 6; IF_NONE { PUSH int 593; FAILWITH } {}; PAIR; PAIR; SWAP; PAIR; SWAP; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; CAR; NONE address; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; PAIR; NIL operation; PAIR }; Elt 1 { UNPAIR; IF_LEFT { IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT {} { PUSH int -1; FAILWITH } } } { PUSH int -1; FAILWITH } } { PUSH int -1; FAILWITH }; SELF_ADDRESS; SENDER; COMPARE; NEQ; IF {} { PUSH string "CT_INTERNAL_CALL"; FAILWITH }; PUSH nat 0; DUP 3; CAR; GET 3; GET 3; SENDER; GET; IF_NONE { PUSH int 281; FAILWITH } {}; GET 3; DUP 3; CAR; GET; IF_NONE { PUSH nat 0 } {}; COMPARE; EQ; IF { PUSH bool True } { DUP; CDR; PUSH nat 0; COMPARE; EQ }; IF {} { PUSH string "CT_UNSAFE_ALLOWANCE_CHANGE"; FAILWITH }; SWAP; UNPAIR; UNPAIR; SWAP; UNPAIR; UNPAIR; SWAP; UNPAIR; DUP; SENDER; DUP; DUG 2; GET; IF_NONE { PUSH int 283; FAILWITH } {}; DUP; GET 3; DUP 10; CDR; SOME; DIG 10; CAR; UPDATE; UPDATE 3; SOME; SWAP; UPDATE; PAIR; SWAP; PAIR; PAIR; SWAP; PAIR; PAIR; NIL operation; PAIR }; Elt 2 { UNPAIR; IF_LEFT { IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } {} } } { PUSH int -1; FAILWITH } } { PUSH int -1; FAILWITH }; SWAP; DUP; DUG 2; GET 3; GET 3; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_SENDER_NOT_IRM"; FAILWITH }; SWAP; DUP; DUG 2; CAR; CAR; GET 6; PUSH nat 8; MEM; IF {} { PUSH string "OP_NOT_ACTIVE"; FAILWITH }; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; SWAP; PUSH bool False; PUSH nat 8; UPDATE; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; PAIR; DUP; DUG 2; CAR; GET 5; SWAP; DUP; DUG 2; COMPARE; LE; IF {} { PUSH string "CT_INVALID_BORROW_RATE"; FAILWITH }; SWAP; DUP; DUG 2; CAR; CAR; GET 3; LEVEL; SUB; ISNAT; IF_NONE { PUSH int 543; FAILWITH } {}; MUL; SWAP; DUP; DUG 2; GET 3; CAR; CAR; DUP 3; GET 7; DUP 3; MUL; EDIV; IF_NONE { PUSH int 58; FAILWITH } { CAR }; DIG 2; DUP; GET 7; DUP 3; ADD; UPDATE 7; DUP; DUP; GET 9; SWAP; DUP; DUG 5; GET 3; CAR; CAR; DIG 3; DIG 5; GET 5; CAR; MUL; EDIV; IF_NONE { PUSH int 58; FAILWITH } { CAR }; ADD; UPDATE 9; DUP; DUG 2; UNPAIR; UNPAIR; SWAP; UNPAIR; UNPAIR; SWAP; CAR; DUP 7; CAR; GET 3; GET 4; DUP 8; GET 3; CAR; CAR; DIG 8; CAR; GET 3; GET 4; DIG 8; MUL; EDIV; IF_NONE { PUSH int 58; FAILWITH } { CAR }; ADD; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; UNPAIR; SWAP; CDR; LEVEL; PAIR; SWAP; PAIR; PAIR; PAIR; NIL operation; PAIR }; Elt 3 { UNPAIR; IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { DROP } { PUSH int -1; FAILWITH } } } { PUSH int -1; FAILWITH }; DUP; CAR; GET 3; CAR; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_NOT_ADMIN"; FAILWITH }; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; CAR; EMPTY_SET nat; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; PAIR; NIL operation; PAIR }; Elt 4 { UNPAIR; IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT {} { PUSH int -1; FAILWITH } } } } { PUSH int -1; FAILWITH }; SELF_ADDRESS; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_INTERNAL_FUNCTION"; FAILWITH }; SWAP; DUP; DUG 2; CAR; CAR; GET 6; PUSH nat 12; MEM; IF {} { PUSH string "OP_NOT_ACTIVE"; FAILWITH }; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; SWAP; PUSH bool False; PUSH nat 12; UPDATE; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; PAIR; SWAP; DUP; PUSH nat 1000000; DUP 4; GET 10; EDIV; IF_NONE { PUSH int 18; FAILWITH } { CAR }; COMPARE; GE; IF {} { PUSH string "CT_INSUFFICIENT_CASH"; FAILWITH }; SWAP; DUP; DUG 2; GET 9; SWAP; DUP; DUG 2; COMPARE; LE; IF {} { PUSH string "CT_REDUCE_AMOUNT"; FAILWITH }; SWAP; DUP; DUG 2; SWAP; DIG 2; GET 9; SUB; ISNAT; IF_NONE { PUSH string "SUBTRACTION_UNDERFLOW"; FAILWITH } {}; UPDATE 9; UNPAIR; SWAP; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; CDR; PUSH bool False; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; PAIR; NIL operation; PAIR }; Elt 5 { UNPAIR; IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { DROP } } } } { PUSH int -1; FAILWITH }; DUP; CAR; GET 3; CAR; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_NOT_ADMIN"; FAILWITH }; UNPAIR; SWAP; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; CAR; NONE address; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; PAIR; NIL operation; PAIR }; Elt 6 { UNPAIR; IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { IF_LEFT {} { PUSH int -1; FAILWITH } } { PUSH int -1; FAILWITH } }; SWAP; DUP; DUG 2; GET 3; GET 3; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_SENDER_NOT_IRM"; FAILWITH }; SWAP; DUP; DUG 2; CAR; CAR; GET 6; PUSH nat 6; MEM; IF {} { PUSH string "OP_NOT_ACTIVE"; FAILWITH }; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; SWAP; PUSH bool False; PUSH nat 6; UPDATE; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; SWAP; UNPAIR; SWAP; UNPAIR; SWAP; CDR; DIG 5; PAIR; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; NIL operation; PAIR }; Elt 7 { UNPAIR; IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT {} { PUSH int -1; FAILWITH } } } { PUSH int -1; FAILWITH } }; SWAP; DUP; DUG 2; CAR; GET 3; CAR; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_NOT_ADMIN"; FAILWITH }; SWAP; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; SWAP; CAR; DIG 5; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; NIL operation; PAIR }; Elt 8 { UNPAIR; IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } {} } } { PUSH int -1; FAILWITH } }; SELF_ADDRESS; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_INTERNAL_FUNCTION"; FAILWITH }; SWAP; DUP; DUG 2; CAR; CAR; GET 6; PUSH nat 9; MEM; IF {} { PUSH string "OP_NOT_ACTIVE"; FAILWITH }; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; SWAP; PUSH bool False; PUSH nat 9; UPDATE; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; UNPAIR; UNPAIR; SWAP; CDR; DIG 4; PAIR; SWAP; PAIR; PAIR; SWAP; PAIR; NIL operation; PAIR }; Elt 9 { UNPAIR; IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT {} { PUSH int -1; FAILWITH } } }; SWAP; DUP; DUG 2; CAR; GET 3; CAR; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_NOT_ADMIN"; FAILWITH }; SWAP; UNPAIR; SWAP; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; CAR; DIG 5; SOME; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; PAIR; NIL operation; PAIR }; Elt 10 { UNPAIR; IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT {} { PUSH int -1; FAILWITH } } } }; SELF_ADDRESS; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_INTERNAL_FUNCTION"; FAILWITH }; SWAP; DUP; DUG 2; CAR; CAR; GET 6; PUSH nat 10; MEM; IF {} { PUSH string "OP_NOT_ACTIVE"; FAILWITH }; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; SWAP; PUSH bool False; PUSH nat 10; UPDATE; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; PAIR; DUP; DUG 2; CAR; CAR; GET 3; LEVEL; SUB; ISNAT; IF_NONE { PUSH string "SUBTRACTION_UNDERFLOW"; FAILWITH } {}; DUP 3; CAR; CAR; GET 5; COMPARE; GT; IF {} { PUSH string "CT_INTEREST_OLD"; FAILWITH }; SWAP; DUP; DUG 2; GET 3; GET 5; IF {} { PUSH string "CT_INTEREST_INVALID"; FAILWITH }; SWAP; DUP; DUG 2; GET 5; GET 3; SWAP; DUP; DUG 2; COMPARE; LE; IF {} { PUSH string "CT_INVALID_RESERVE_FACTOR"; FAILWITH }; SWAP; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; CDR; DIG 4; PAIR; PAIR; SWAP; UNPAIR; SWAP; UNPAIR; SWAP; CDR; PUSH bool False; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; PAIR; NIL operation; PAIR }; Elt 11 { UNPAIR; IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } {} } } }; SWAP; DUP; DUG 2; GET 3; GET 3; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_SENDER_NOT_IRM"; FAILWITH }; SWAP; DUP; DUG 2; CAR; CAR; GET 6; PUSH nat 7; MEM; IF {} { PUSH string "OP_NOT_ACTIVE"; FAILWITH }; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; SWAP; PUSH bool False; PUSH nat 7; UPDATE; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; UNPAIR; SWAP; UNPAIR; UNPAIR; SWAP; CAR; DIG 5; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; PAIR; SWAP; PAIR; NIL operation; PAIR }}) - => ../TezFinTest/CToken_Tests/step_008_cont_3_storage.tz 1 - => ../TezFinTest/CToken_Tests/step_008_cont_3_storage.json 1099 - => ../TezFinTest/CToken_Tests/step_008_cont_3_sizes.csv 2 - => ../TezFinTest/CToken_Tests/step_008_cont_3_storage.py 1 - => ../TezFinTest/CToken_Tests/step_008_cont_3_types.py 7 - => ../TezFinTest/CToken_Tests/step_008_cont_3_contract.tz 3914 - => ../TezFinTest/CToken_Tests/step_008_cont_3_contract.json 4735 - => ../TezFinTest/CToken_Tests/step_008_cont_3_contract.py 678 - => ../TezFinTest/CToken_Tests/step_008_cont_3_contract.py.html 2721 + => ./TezFinTest/CToken_Tests/step_006_cont_0_storage.tz 1 + => ./TezFinTest/CToken_Tests/step_006_cont_0_storage.json 1 + => ./TezFinTest/CToken_Tests/step_006_cont_0_sizes.csv 2 + => ./TezFinTest/CToken_Tests/step_006_cont_0_storage.py 1 + => ./TezFinTest/CToken_Tests/step_006_cont_0_types.py 7 + => ./TezFinTest/CToken_Tests/step_006_cont_0_contract.tz 19 + => ./TezFinTest/CToken_Tests/step_006_cont_0_contract.json 15 + => ./TezFinTest/CToken_Tests/step_006_cont_0_contract.py 17 + => ./TezFinTest/CToken_Tests/step_006_cont_0_contract.py.html 1922 +Creating contract KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF + -> (Pair (Pair (Pair True True) (Pair True True)) {Elt 0 { CDR; NIL operation; PAIR }}) + => ./TezFinTest/CToken_Tests/step_007_cont_1_storage.tz 1 + => ./TezFinTest/CToken_Tests/step_007_cont_1_storage.json 7 + => ./TezFinTest/CToken_Tests/step_007_cont_1_sizes.csv 2 + => ./TezFinTest/CToken_Tests/step_007_cont_1_storage.py 1 + => ./TezFinTest/CToken_Tests/step_007_cont_1_types.py 7 + => ./TezFinTest/CToken_Tests/step_007_cont_1_contract.tz 276 + => ./TezFinTest/CToken_Tests/step_007_cont_1_contract.json 458 + => ./TezFinTest/CToken_Tests/step_007_cont_1_contract.py 127 + => ./TezFinTest/CToken_Tests/step_007_cont_1_contract.py.html 2006 +Creating contract KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + -> (Pair 80000000000 180000000000) + => ./TezFinTest/CToken_Tests/step_008_cont_2_storage.tz 1 + => ./TezFinTest/CToken_Tests/step_008_cont_2_storage.json 1 + => ./TezFinTest/CToken_Tests/step_008_cont_2_sizes.csv 2 + => ./TezFinTest/CToken_Tests/step_008_cont_2_storage.py 1 + => ./TezFinTest/CToken_Tests/step_008_cont_2_types.py 7 + => ./TezFinTest/CToken_Tests/step_008_cont_2_contract.tz 49 + => ./TezFinTest/CToken_Tests/step_008_cont_2_contract.json 80 + => ./TezFinTest/CToken_Tests/step_008_cont_2_contract.py 29 + => ./TezFinTest/CToken_Tests/step_008_cont_2_contract.py.html 1932 +Creating contract KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC + -> (Pair (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 0 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000000000000000 (Pair 800000000000 0)) (Pair (Pair {} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 0))))) {Elt 0 { UNPAIR; IF_LEFT { IF_LEFT { IF_LEFT { DROP } { PUSH int -1; FAILWITH } } { PUSH int -1; FAILWITH } } { PUSH int -1; FAILWITH }; DUP; GET 3; GET 5; IF_NONE { PUSH string "CT_NOT_SET_PENDING_ADMIN"; FAILWITH } {}; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_NOT_PENDING_ADMIN"; FAILWITH }; DUP; GET 3; GET 5; IF_NONE { PUSH int 812; FAILWITH } {}; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; CAR; DIG 5; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; CDR; NONE address; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; PAIR; NIL operation; PAIR }; Elt 1 { UNPAIR; IF_LEFT { IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT {} { PUSH int -1; FAILWITH } } } { PUSH int -1; FAILWITH } } { PUSH int -1; FAILWITH }; SELF_ADDRESS; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_INTERNAL_FUNCTION"; FAILWITH }; NIL operation; DUP 3; GET 3; CAR; GET 3; CONTRACT %getBorrowRate (pair (pair (nat %borrows) (nat %cash)) (pair (contract %cb nat) (nat %reserves))); IF_NONE { PUSH int 744; FAILWITH } {}; PUSH mutez 0; DUP 5; GET 9; DIG 4; PAIR; PUSH nat 1000000; DUP 6; GET 10; EDIV; IF_NONE { PUSH int 19; FAILWITH } { CAR }; DUP 6; GET 7; CDR; PAIR; PAIR; TRANSFER_TOKENS; CONS; PAIR }; Elt 2 { UNPAIR; IF_LEFT { IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } {} } } { PUSH int -1; FAILWITH } } { PUSH int -1; FAILWITH }; SELF_ADDRESS; SENDER; COMPARE; NEQ; IF {} { PUSH string "CT_INTERNAL_CALL"; FAILWITH }; DUP 2; GET 3; CAR; GET 4; SENDER; GET; IF_NONE { PUSH int 454; FAILWITH } {}; CAR; DUP 2; CAR; MEM; IF { PUSH bool True } { PUSH nat 1000; DUP 3; GET 3; CAR; GET 4; SENDER; GET; IF_NONE { PUSH int 455; FAILWITH } {}; CAR; SIZE; COMPARE; LT }; IF {} { PUSH string "FA1.2_MaxApprovalsReached"; FAILWITH }; PUSH nat 0; DUP 3; GET 3; CAR; GET 4; SENDER; GET; IF_NONE { PUSH int 457; FAILWITH } {}; CAR; DUP 3; CAR; GET; IF_NONE { PUSH nat 0 } {}; COMPARE; EQ; IF { PUSH bool True } { PUSH nat 0; DUP 2; CDR; COMPARE; EQ }; IF {} { PUSH string "FA1.2_UnsafeAllowanceChange"; FAILWITH }; PUSH nat 0; DUP 2; CDR; COMPARE; EQ; IF { SWAP; UNPAIR; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; DUP; SENDER; DUP; DUG 2; GET; IF_NONE { PUSH int 462; FAILWITH } {}; DUP; CAR; NONE nat; DIG 10; CAR; UPDATE; UPDATE 1; SOME; SWAP; UPDATE; SWAP; PAIR; SWAP; PAIR; PAIR; PAIR; SWAP; PAIR } { SWAP; UNPAIR; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; DUP; SENDER; DUP; DUG 2; GET; IF_NONE { PUSH int 464; FAILWITH } {}; DUP; CAR; DUP 10; CDR; SOME; DIG 10; CAR; UPDATE; UPDATE 1; SOME; SWAP; UPDATE; SWAP; PAIR; SWAP; PAIR; PAIR; PAIR; SWAP; PAIR }; NIL operation; PAIR }; Elt 3 { UNPAIR; IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT {} { PUSH int -1; FAILWITH } } } { PUSH int -1; FAILWITH }; DUP 2; GET 3; CAR; GET 3; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_SENDER_NOT_IRM"; FAILWITH }; DUP 2; CAR; CAR; GET 5; PUSH nat 8; MEM; IF {} { PUSH string "OP_NOT_ACTIVE"; FAILWITH }; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; PUSH bool False; PUSH nat 8; UPDATE; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; PAIR; SWAP; DUP 2; CAR; GET 3; GET 3; DUP 2; COMPARE; LE; IF {} { PUSH string "CT_INVALID_BORROW_RATE"; FAILWITH }; DUP 2; CAR; CAR; GET 3; LEVEL; SUB; ISNAT; IF_NONE { PUSH int 759; FAILWITH } {}; DUP 2; MUL; DUP 3; CAR; GET 7; DUP 4; GET 7; CDR; DUP 3; MUL; EDIV; IF_NONE { PUSH int 61; FAILWITH } { CAR }; DUP 4; GET 7; CDR; DUP 2; ADD; DIG 4; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; CAR; DIG 5; SWAP; PAIR; PAIR; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; DUG 3; DUP 4; GET 9; DUP 5; CAR; GET 7; DUP 3; DUP 7; GET 5; CAR; MUL; EDIV; IF_NONE { PUSH int 61; FAILWITH } { CAR }; ADD; DIG 4; SWAP; UPDATE 9; DUG 3; DUP 4; CAR; GET 3; CAR; DUP 5; CAR; GET 7; DUP 6; CAR; GET 3; CAR; DUP 5; MUL; EDIV; IF_NONE { PUSH int 61; FAILWITH } { CAR }; ADD; DIG 4; UNPAIR; UNPAIR; SWAP; UNPAIR; CDR; DIG 4; PAIR; PAIR; SWAP; UNPAIR; SWAP; CDR; LEVEL; DIG 5; DROP; DIG 5; DROP; DIG 5; DROP; PAIR; SWAP; PAIR; PAIR; PAIR; NIL operation; PAIR }; Elt 4 { UNPAIR; IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { DROP } { PUSH int -1; FAILWITH } } } } { PUSH int -1; FAILWITH }; DUP; CAR; CAR; GET 6; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_NOT_ADMIN"; FAILWITH }; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; CDR; EMPTY_SET nat; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; PAIR; NIL operation; PAIR }; Elt 5 { UNPAIR; IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } {} } } } { PUSH int -1; FAILWITH }; SELF_ADDRESS; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_INTERNAL_FUNCTION"; FAILWITH }; DUP 2; CAR; CAR; GET 5; PUSH nat 12; MEM; IF {} { PUSH string "OP_NOT_ACTIVE"; FAILWITH }; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; PUSH bool False; PUSH nat 12; UPDATE; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; PAIR; SWAP; DUP; PUSH nat 1000000; DUP 4; GET 10; EDIV; IF_NONE { PUSH int 19; FAILWITH } { CAR }; COMPARE; GE; IF {} { PUSH string "CT_INSUFFICIENT_CASH"; FAILWITH }; DUP 2; GET 9; DUP 2; COMPARE; LE; IF {} { PUSH string "CT_REDUCE_AMOUNT"; FAILWITH }; DUP 2; GET 9; SUB; ISNAT; IF_NONE { PUSH string "SUBTRACTION_UNDERFLOW"; FAILWITH } {}; UPDATE 9; NIL operation; PAIR }; Elt 6 { UNPAIR; IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { IF_LEFT { DROP } { PUSH int -1; FAILWITH } } { PUSH int -1; FAILWITH } }; DUP; CAR; CAR; GET 6; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_NOT_ADMIN"; FAILWITH }; UNPAIR; SWAP; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; CDR; NONE address; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; PAIR; NIL operation; PAIR }; Elt 7 { UNPAIR; IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT {} { PUSH int -1; FAILWITH } } } { PUSH int -1; FAILWITH } }; DUP 2; CAR; CAR; GET 6; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_NOT_ADMIN"; FAILWITH }; SWAP; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; CAR; DIG 5; SWAP; PAIR; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; NIL operation; PAIR }; Elt 8 { UNPAIR; IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } {} } } { PUSH int -1; FAILWITH } }; SELF_ADDRESS; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_INTERNAL_FUNCTION"; FAILWITH }; DUP 2; CAR; CAR; GET 5; PUSH nat 9; MEM; IF {} { PUSH string "OP_NOT_ACTIVE"; FAILWITH }; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; PUSH bool False; PUSH nat 9; UPDATE; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; CDR; DIG 5; PAIR; SWAP; PAIR; PAIR; PAIR; SWAP; PAIR; NIL operation; PAIR }; Elt 9 { UNPAIR; IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT {} { PUSH int -1; FAILWITH } } }; DUP 2; CAR; CAR; GET 6; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_NOT_ADMIN"; FAILWITH }; SWAP; UNPAIR; SWAP; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; CDR; DIG 5; SOME; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; PAIR; NIL operation; PAIR }; Elt 10 { UNPAIR; IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT {} { PUSH int -1; FAILWITH } } } }; SELF_ADDRESS; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_INTERNAL_FUNCTION"; FAILWITH }; DUP 2; CAR; CAR; GET 5; PUSH nat 10; MEM; IF {} { PUSH string "OP_NOT_ACTIVE"; FAILWITH }; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; PUSH bool False; PUSH nat 10; UPDATE; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; PAIR; SWAP; DUP 2; CAR; CAR; GET 3; LEVEL; COMPARE; EQ; IF {} { PUSH string "CT_INTEREST_OLD"; FAILWITH }; DUP 2; GET 5; GET 3; DUP 2; COMPARE; LE; IF {} { PUSH string "CT_INVALID_RESERVE_FACTOR"; FAILWITH }; SWAP; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; CDR; DIG 4; PAIR; PAIR; SWAP; PAIR; SWAP; PAIR; NIL operation; PAIR }; Elt 11 { UNPAIR; IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } {} } } }; DUP 2; CAR; CAR; GET 6; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_NOT_ADMIN"; FAILWITH }; SWAP; UNPAIR; SWAP; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; CAR; DIG 5; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; PAIR; NIL operation; PAIR }}) + => ./TezFinTest/CToken_Tests/step_009_cont_3_storage.tz 1 + => ./TezFinTest/CToken_Tests/step_009_cont_3_storage.json 1143 + => ./TezFinTest/CToken_Tests/step_009_cont_3_sizes.csv 2 + => ./TezFinTest/CToken_Tests/step_009_cont_3_storage.py 1 + => ./TezFinTest/CToken_Tests/step_009_cont_3_types.py 7 + => ./TezFinTest/CToken_Tests/step_009_cont_3_contract.tz 4942 + => ./TezFinTest/CToken_Tests/step_009_cont_3_contract.json 5459 + => ./TezFinTest/CToken_Tests/step_009_cont_3_contract.py 742 + => ./TezFinTest/CToken_Tests/step_009_cont_3_contract.py.html 2618 Comment... h2: Try borrow when there is no cash - => ../TezFinTest/CToken_Tests/step_010_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_010_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_010_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_011_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_011_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_011_cont_3_params.json 1 Executing borrow(100)... - -> --- Expected failure in transaction --- Wrong condition: ((self.data.totalSupply // 1000000) >= params : sp.TBool) (contracts/CToken.py, line 727) + -> --- Expected failure in transaction --- contracts/CToken.py:946:: Wrong condition: ((self.data.totalSupply // 1000000) >= params : sp.TBool) Message: 'CT_INSUFFICIENT_CASH' - (contracts/CToken.py, line 727) +Comment... + h2: Test getAccountSnapshot for nonexistent account + => ./TezFinTest/CToken_Tests/step_013_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_013_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_013_cont_3_params.json 1 +Executing updateAccountSnapshot(sp.resolve(sp.test_account("Bob").address))... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 0 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000000000000000 (Pair 800000000000 0)) (Pair (Pair {} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 0))))) + + Transfer + params: (sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C'), sp.contract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setAccountSnapshot')).open_some()) + amount: sp.tez(0) + to: sp.contract(sp.TPair(sp.TAddress, sp.TContract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))))), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%getAccountSnapshot')).open_some() +Executing (queue) getAccountSnapshot((sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C'), sp.contract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setAccountSnapshot')).open_some()))... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 0 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000000000000000 (Pair 800000000000 0)) (Pair (Pair {} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 0))))) + + Transfer + params: sp.record(account = sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C'), borrowBalance = 0, cTokenBalance = 0, exchangeRateMantissa = 0) + amount: sp.tez(0) + to: sp.contract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setAccountSnapshot')).open_some() +Executing (queue) setAccountSnapshot(sp.record(account = sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C'), borrowBalance = 0, cTokenBalance = 0, exchangeRateMantissa = 0))... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 0 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000000000000000 (Pair 800000000000 0)) (Pair (Pair {} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 0))))) +Verifying sp.contract_data(3).accCTokenBalance == 0... + OK +Verifying sp.contract_data(3).accBorrowBalance == 0... + OK +Verifying sp.contract_data(3).accExchangeRateMantissa == 0... + OK Comment... h2: Test mint Comment... h3: Mint allowed Comment... h4: call mint with old accrue interest - => ../TezFinTest/CToken_Tests/step_014_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_014_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_014_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_020_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_020_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_020_cont_3_params.json 1 Executing mint(100)... - -> --- Expected failure in transaction --- Wrong condition: (compute_CToken_730.value < self.data.accrualIntPeriodRelevance : sp.TBool) (contracts/CToken.py, line 731) + -> --- Expected failure in transaction --- contracts/CToken.py:949:: Wrong condition: (sp.level == self.data.accrualBlockNumber : sp.TBool) Message: 'CT_INTEREST_OLD' - (contracts/CToken.py, line 731) -Verifying sp.contract_data(3).isAccrualInterestValid == False... - OK Comment... h4: call mint with relevant accrue interest - => ../TezFinTest/CToken_Tests/step_017_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_017_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_017_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_022_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_022_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_022_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 8 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {} 1000000000000000000)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 0 (Pair 0 0))))) - => ../TezFinTest/CToken_Tests/step_018_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_018_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_018_cont_3_params.json 1 + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 3 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000000000000000 (Pair 800000000000 0)) (Pair (Pair {} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 0))))) + => ./TezFinTest/CToken_Tests/step_023_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_023_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_023_cont_3_params.json 1 Executing mint(100)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 8 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 0 0) (Pair {} 100000000))} 1000000000000000000)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 0 (Pair 0 100000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 3 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000000000000000 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 100000000))))) + Transfer params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), minter = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), mintAmount = 100) amount: sp.tez(0) to: sp.contract(sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount"))), sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%mintAllowed')).open_some() Executing (queue) mintAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), minter = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), mintAmount = 100))... -> (Pair (Pair True True) (Pair True True)) -Verifying sp.contract_data(3).balances[sp.to_constant(sp.test_account("Alice").address)].balance == 100000000... +Verifying sp.contract_data(3).ledger[sp.resolve(sp.test_account("Alice").address)].balance == 100000000... OK Comment... h3: Mint not allowed - => ../TezFinTest/CToken_Tests/step_021_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_021_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_021_cont_1_params.json 1 + => ./TezFinTest/CToken_Tests/step_026_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_026_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_026_cont_1_params.json 1 Executing setMintAllowed(False)... -> (Pair (Pair True False) (Pair True True)) - => ../TezFinTest/CToken_Tests/step_022_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_022_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_022_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_027_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_027_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_027_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 8 (Pair 5 {8}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 0 0) (Pair {} 100000000))} 1000000000000000000)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 0 (Pair 0 100000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 3 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000000000000000 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 100000000))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 3 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000000000000000 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 100000000))))) + Transfer params: sp.record(borrows = 0, cash = 100, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 0, cash = 100, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 10 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 0 0) (Pair {} 100000000))} 1000001680000000000)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 0 (Pair 0 100000000))))) - => ../TezFinTest/CToken_Tests/step_023_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_023_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_023_cont_3_params.json 1 +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 4 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000080000000000 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 100000000))))) + => ./TezFinTest/CToken_Tests/step_028_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_028_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_028_cont_3_params.json 1 Executing mint(100)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 10 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 0 0) (Pair {} 200000000))} 1000001680000000000)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 0 (Pair 0 200000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 4 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000080000000000 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 200000000)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 200000000))))) + Transfer params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), minter = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), mintAmount = 100) amount: sp.tez(0) to: sp.contract(sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount"))), sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%mintAllowed')).open_some() Executing (queue) mintAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), minter = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), mintAmount = 100))... - -> --- Expected failure in transaction --- Wrong condition: (self.data.mint_allowed : sp.TBool) (contracts/tests/mock/ComptrollerMock.py, line 28) - (contracts/tests/mock/ComptrollerMock.py, line 28) + -> --- Expected failure in transaction --- contracts/tests/mock/ComptrollerMock.py:28:: Wrong condition: (self.data.mint_allowed : sp.TBool) Comment... h3: Mint allowed again - => ../TezFinTest/CToken_Tests/step_025_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_025_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_025_cont_1_params.json 1 + => ./TezFinTest/CToken_Tests/step_030_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_030_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_030_cont_1_params.json 1 Executing setMintAllowed(True)... -> (Pair (Pair True True) (Pair True True)) - => ../TezFinTest/CToken_Tests/step_026_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_026_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_026_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_031_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_031_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_031_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 10 (Pair 5 {8}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 0 0) (Pair {} 100000000))} 1000001680000000000)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 0 (Pair 0 100000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 4 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000080000000000 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 100000000))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 4 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000080000000000 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 100000000))))) + Transfer params: sp.record(borrows = 0, cash = 100, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 0, cash = 100, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 12 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 0 0) (Pair {} 100000000))} 1000003360002822400)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 0 (Pair 0 100000000))))) - => ../TezFinTest/CToken_Tests/step_027_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_027_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_027_cont_3_params.json 1 +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 5 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000160000006400 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 100000000))))) + => ./TezFinTest/CToken_Tests/step_032_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_032_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_032_cont_3_params.json 1 Executing mint(1000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 12 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 0 0) (Pair {} 100000000))} 1000003360002822400)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 0 (Pair 0 1100000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 5 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000160000006400 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 1100000000))))) + Transfer params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), minter = sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C'), mintAmount = 1000) amount: sp.tez(0) to: sp.contract(sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount"))), sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%mintAllowed')).open_some() Executing (queue) mintAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), minter = sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C'), mintAmount = 1000))... -> (Pair (Pair True True) (Pair True True)) -Verifying sp.contract_data(3).balances[sp.to_constant(sp.test_account("Bob").address)].balance == 1000000000... +Verifying sp.contract_data(3).ledger[sp.resolve(sp.test_account("Bob").address)].balance == 1000000000... OK Comment... h3: Try mint in callback - => ../TezFinTest/CToken_Tests/step_030_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_030_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_030_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_035_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_035_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_035_cont_3_params.json 1 Executing getCash((sp.unit, sp.contract_typed(KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%mint)))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 12 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 0 0) (Pair {} 100000000))} 1000003360002822400)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 0 (Pair 0 1100000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 5 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000160000006400 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 1100000000))))) + Transfer params: 1100 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%mint')).open_some() Executing (queue) mint(1100)... - -> --- Expected failure in transaction --- Wrong condition: (sp.sender != sp.self_address : sp.TBool) (contracts/CToken.py, line 738) + -> --- Expected failure in transaction --- contracts/CToken.py:955:: Wrong condition: (sp.sender != sp.self_address : sp.TBool) Message: 'CT_INTERNAL_CALL' - (contracts/CToken.py, line 738) Comment... h2: Test Borrow Comment... h3: Borrow allowed - => ../TezFinTest/CToken_Tests/step_033_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_033_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_033_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_038_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_038_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_038_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 12 (Pair 5 {8}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 0 0) (Pair {} 100000000))} 1000003360002822400)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 0 (Pair 0 1100000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 5 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000160000006400 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 1100000000))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 5 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000160000006400 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 1100000000))))) + Transfer params: sp.record(borrows = 0, cash = 1100, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 0, cash = 1100, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 15 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 0 0) (Pair {} 100000000))} 1000005880011289607)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 0 (Pair 0 1100000000))))) - => ../TezFinTest/CToken_Tests/step_034_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_034_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_034_cont_1_params.json 1 +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 7 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000320000032000 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 1100000000))))) + => ./TezFinTest/CToken_Tests/step_039_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_039_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_039_cont_1_params.json 1 Executing updateAssetPrice(sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'))... -> (Pair (Pair True True) (Pair True True)) - => ../TezFinTest/CToken_Tests/step_035_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_035_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_035_cont_1_params.json 1 -Executing updateAccountLiquidity(sp.to_constant(sp.test_account("Carl").address))... + => ./TezFinTest/CToken_Tests/step_040_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_040_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_040_cont_1_params.json 1 +Executing updateAccountLiquidity(sp.resolve(sp.test_account("Carl").address))... -> (Pair (Pair True True) (Pair True True)) Comment... h4: call borrow with relevant account liquidity, asset price and accrue interest - => ../TezFinTest/CToken_Tests/step_037_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_037_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_037_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_042_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_042_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_042_cont_3_params.json 1 Executing borrow(10)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 15 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 0 0) (Pair {} 100000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000005880011289607)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1100000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 7 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000320000032000 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1100000000))))) + Transfer params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), borrower = sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58'), borrowAmount = 10) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrowAmount = sp.TNat, borrower = sp.TAddress, cToken = sp.TAddress).layout(("cToken", ("borrower", "borrowAmount"))), sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%borrowAllowed')).open_some() Executing (queue) borrowAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), borrower = sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58'), borrowAmount = 10))... -> (Pair (Pair True True) (Pair True True)) -Verifying sp.contract_data(3).isAccrualInterestValid == False... - OK Comment... h4: call borrow with old account liquidity - => ../TezFinTest/CToken_Tests/step_040_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_040_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_040_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_044_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_044_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_044_cont_3_params.json 1 Executing borrow(10)... - -> --- Expected failure in transaction --- Wrong condition: (compute_CToken_730.value < self.data.accrualIntPeriodRelevance : sp.TBool) (contracts/CToken.py, line 731) + -> --- Expected failure in transaction --- contracts/CToken.py:949:: Wrong condition: (sp.level == self.data.accrualBlockNumber : sp.TBool) Message: 'CT_INTEREST_OLD' - (contracts/CToken.py, line 731) -Verifying sp.contract_data(3).balances[sp.to_constant(sp.test_account("Carl").address)].balance == 0... +Verifying sp.contract_data(3).ledger[sp.resolve(sp.test_account("Carl").address)].balance == 0... OK -Verifying sp.contract_data(3).balances[sp.to_constant(sp.test_account("Carl").address)].accountBorrows.principal == 10... +Verifying sp.contract_data(3).borrows[sp.resolve(sp.test_account("Carl").address)].principal == 10... OK Comment... h3: Borrow not allowed - => ../TezFinTest/CToken_Tests/step_044_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_044_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_044_cont_1_params.json 1 + => ./TezFinTest/CToken_Tests/step_048_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_048_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_048_cont_1_params.json 1 Executing setBorrowAllowed(False)... -> (Pair (Pair False True) (Pair True True)) - => ../TezFinTest/CToken_Tests/step_045_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_045_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_045_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_049_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_049_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_049_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 15 (Pair 5 {8}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 0 0) (Pair {} 100000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000005880011289607)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1100000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 7 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000320000032000 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1100000000))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 7 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000320000032000 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1100000000))))) + Transfer params: sp.record(borrows = 10, cash = 1100, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 10, cash = 1100, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 19 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 0 0) (Pair {} 100000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000009240031046444)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1100000000))))) - => ../TezFinTest/CToken_Tests/step_046_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_046_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_046_cont_3_params.json 1 +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 8 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000400000057600 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1100000000))))) + => ./TezFinTest/CToken_Tests/step_050_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_050_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_050_cont_3_params.json 1 Executing borrow(10)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 19 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 0 0) (Pair {} 100000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000009240031046444 20) (Pair {} 0))} 1000009240031046444)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 30 (Pair 0 1100000000))))) - + Transfer - params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), borrower = sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58'), borrowAmount = 10) - amount: sp.tez(0) - to: sp.contract(sp.TRecord(borrowAmount = sp.TNat, borrower = sp.TAddress, cToken = sp.TAddress).layout(("cToken", ("borrower", "borrowAmount"))), sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%borrowAllowed')).open_some() -Executing (queue) borrowAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), borrower = sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58'), borrowAmount = 10))... - -> --- Expected failure in transaction --- Wrong condition: (self.data.borrow_allowed : sp.TBool) (contracts/tests/mock/ComptrollerMock.py, line 46) - (contracts/tests/mock/ComptrollerMock.py, line 46) + -> --- Expected failure in transaction --- contracts/CToken.py:949:: Wrong condition: (sp.level == self.data.accrualBlockNumber : sp.TBool) +Message: 'CT_INTEREST_OLD' Comment... h3: Borrow allowed again - => ../TezFinTest/CToken_Tests/step_048_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_048_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_048_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_052_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_052_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_052_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 19 (Pair 5 {8}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 0 0) (Pair {} 100000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000009240031046444)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1100000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 8 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000400000057600 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1100000000))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 8 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000400000057600 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1100000000))))) + Transfer params: sp.record(borrows = 10, cash = 1100, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 10, cash = 1100, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 21 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 0 0) (Pair {} 100000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000010920046569696)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1100000000))))) - => ../TezFinTest/CToken_Tests/step_049_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_049_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_049_cont_1_params.json 1 +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 10 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000560000121600 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 0 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1100000000))))) + => ./TezFinTest/CToken_Tests/step_053_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_053_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_053_cont_1_params.json 1 Executing updateAssetPrice(sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'))... -> (Pair (Pair False True) (Pair True True)) - => ../TezFinTest/CToken_Tests/step_050_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_050_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_050_cont_1_params.json 1 -Executing updateAccountLiquidity(sp.to_constant(sp.test_account("Carl").address))... + => ./TezFinTest/CToken_Tests/step_054_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_054_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_054_cont_1_params.json 1 +Executing updateAccountLiquidity(sp.resolve(sp.test_account("Carl").address))... -> (Pair (Pair False True) (Pair True True)) - => ../TezFinTest/CToken_Tests/step_051_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_051_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_051_cont_1_params.json 1 + => ./TezFinTest/CToken_Tests/step_055_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_055_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_055_cont_1_params.json 1 Executing setBorrowAllowed(True)... -> (Pair (Pair True True) (Pair True True)) - => ../TezFinTest/CToken_Tests/step_052_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_052_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_052_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_056_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_056_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_056_cont_3_params.json 1 Executing borrow(10)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 21 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 100000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000010920046569696)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1100000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 10 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000560000121600 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1100000000))))) + Transfer params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), borrower = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), borrowAmount = 10) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrowAmount = sp.TNat, borrower = sp.TAddress, cToken = sp.TAddress).layout(("cToken", ("borrower", "borrowAmount"))), sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%borrowAllowed')).open_some() Executing (queue) borrowAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), borrower = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), borrowAmount = 10))... -> (Pair (Pair True True) (Pair True True)) -Verifying sp.contract_data(3).balances[sp.to_constant(sp.test_account("Alice").address)].balance == 100000000... +Verifying sp.contract_data(3).ledger[sp.resolve(sp.test_account("Alice").address)].balance == 100000000... OK -Verifying sp.contract_data(3).balances[sp.to_constant(sp.test_account("Alice").address)].accountBorrows.principal == 10... +Verifying sp.contract_data(3).borrows[sp.resolve(sp.test_account("Alice").address)].principal == 10... OK Comment... h3: Try borrow with insufficient cash - => ../TezFinTest/CToken_Tests/step_056_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_056_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_056_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_060_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_060_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_060_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 21 (Pair 5 {8}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 100000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000010920046569696)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1100000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 10 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000560000121600 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1100000000))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 10 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000560000121600 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1100000000))))) + Transfer params: sp.record(borrows = 20, cash = 1100, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 20, cash = 1100, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 25 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 100000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000014280083261052)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1100000000))))) - => ../TezFinTest/CToken_Tests/step_057_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_057_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_057_cont_3_params.json 1 +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 11 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000640000166400 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1100000000))))) + => ./TezFinTest/CToken_Tests/step_061_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_061_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_061_cont_3_params.json 1 Executing borrow(1100000001)... - -> --- Expected failure in transaction --- Wrong condition: ((self.data.totalSupply // 1000000) >= params : sp.TBool) (contracts/CToken.py, line 727) + -> --- Expected failure in transaction --- contracts/CToken.py:946:: Wrong condition: ((self.data.totalSupply // 1000000) >= params : sp.TBool) Message: 'CT_INSUFFICIENT_CASH' - (contracts/CToken.py, line 727) Comment... h3: Try borrow in callback - => ../TezFinTest/CToken_Tests/step_059_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_059_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_059_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_063_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_063_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_063_cont_3_params.json 1 Executing getCash((sp.unit, sp.contract_typed(KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%borrow)))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 25 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 100000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000014280083261052)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1100000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 11 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000640000166400 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1100000000))))) + Transfer params: 1100 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%borrow')).open_some() Executing (queue) borrow(1100)... - -> --- Expected failure in transaction --- Wrong condition: (sp.sender != sp.self_address : sp.TBool) (contracts/CToken.py, line 738) + -> --- Expected failure in transaction --- contracts/CToken.py:955:: Wrong condition: (sp.sender != sp.self_address : sp.TBool) Message: 'CT_INTERNAL_CALL' - (contracts/CToken.py, line 738) Comment... h2: Test Redeem Comment... h3: Redeem allowed - => ../TezFinTest/CToken_Tests/step_062_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_062_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_062_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_066_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_066_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_066_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 25 (Pair 5 {8}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 100000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000014280083261052)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1100000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 11 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000640000166400 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1100000000))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 11 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000640000166400 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1100000000))))) + Transfer params: sp.record(borrows = 20, cash = 1100, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 20, cash = 1100, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 28 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 100000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000016800119246861)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1100000000))))) - => ../TezFinTest/CToken_Tests/step_063_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_063_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_063_cont_1_params.json 1 +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 12 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000720000217600 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 100000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1100000000))))) + => ./TezFinTest/CToken_Tests/step_067_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_067_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_067_cont_1_params.json 1 Executing updateAssetPrice(sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'))... -> (Pair (Pair True True) (Pair True True)) - => ../TezFinTest/CToken_Tests/step_064_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_064_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_064_cont_1_params.json 1 -Executing updateAccountLiquidity(sp.to_constant(sp.test_account("Alice").address))... + => ./TezFinTest/CToken_Tests/step_068_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_068_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_068_cont_1_params.json 1 +Executing updateAccountLiquidity(sp.resolve(sp.test_account("Alice").address))... -> (Pair (Pair True True) (Pair True True)) Comment... h4: call redeem with relevant account liquidity, asset price and accrue interest - => ../TezFinTest/CToken_Tests/step_066_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_066_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_066_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_070_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_070_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_070_cont_3_params.json 1 Executing redeem(50000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 28 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 50000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000016800119246861)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1050000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 12 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000720000217600 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 50000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1050000000))))) + Transfer params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), redeemer = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), redeemAmount = 50000000) amount: sp.tez(0) to: sp.contract(sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%redeemAllowed')).open_some() Executing (queue) redeemAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), redeemer = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), redeemAmount = 50000000))... -> (Pair (Pair True True) (Pair True True)) -Verifying sp.contract_data(3).isAccrualInterestValid == False... - OK Comment... h4: call redeem with old account liquidity - => ../TezFinTest/CToken_Tests/step_069_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_069_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_069_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_072_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_072_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_072_cont_3_params.json 1 Executing redeem(50000000)... - -> --- Expected failure in transaction --- Wrong condition: (compute_CToken_730.value < self.data.accrualIntPeriodRelevance : sp.TBool) (contracts/CToken.py, line 731) + -> --- Expected failure in transaction --- contracts/CToken.py:949:: Wrong condition: (sp.level == self.data.accrualBlockNumber : sp.TBool) Message: 'CT_INTEREST_OLD' - (contracts/CToken.py, line 731) -Verifying sp.contract_data(3).balances[sp.to_constant(sp.test_account("Alice").address)].balance == 50000000... +Verifying sp.contract_data(3).ledger[sp.resolve(sp.test_account("Alice").address)].balance == 50000000... OK Comment... h3: Redeem not allowed - => ../TezFinTest/CToken_Tests/step_072_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_072_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_072_cont_1_params.json 1 + => ./TezFinTest/CToken_Tests/step_075_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_075_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_075_cont_1_params.json 1 Executing setRedeemAllowed(False)... -> (Pair (Pair True True) (Pair False True)) - => ../TezFinTest/CToken_Tests/step_073_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_073_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_073_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_076_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_076_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_076_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 28 (Pair 5 {8}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 50000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000016800119246861)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1050000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 12 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000720000217600 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 50000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1050000000))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 12 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000720000217600 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 50000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1050000000))))) + Transfer params: sp.record(borrows = 20, cash = 1050, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 20, cash = 1050, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 32 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 50000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000020160175695261)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1050000000))))) - => ../TezFinTest/CToken_Tests/step_074_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_074_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_074_cont_1_params.json 1 +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 13 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000800000275200 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 50000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1050000000))))) + => ./TezFinTest/CToken_Tests/step_077_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_077_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_077_cont_1_params.json 1 Executing updateAssetPrice(sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'))... -> (Pair (Pair True True) (Pair False True)) - => ../TezFinTest/CToken_Tests/step_075_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_075_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_075_cont_1_params.json 1 -Executing updateAccountLiquidity(sp.to_constant(sp.test_account("Carl").address))... + => ./TezFinTest/CToken_Tests/step_078_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_078_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_078_cont_1_params.json 1 +Executing updateAccountLiquidity(sp.resolve(sp.test_account("Carl").address))... -> (Pair (Pair True True) (Pair False True)) - => ../TezFinTest/CToken_Tests/step_076_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_076_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_076_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_079_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_079_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_079_cont_3_params.json 1 Executing redeem(10000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 32 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 40000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000020160175695261)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1040000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 13 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000800000275200 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 40000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1040000000))))) + Transfer params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), redeemer = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), redeemAmount = 10000000) amount: sp.tez(0) to: sp.contract(sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%redeemAllowed')).open_some() Executing (queue) redeemAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), redeemer = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), redeemAmount = 10000000))... - -> --- Expected failure in transaction --- Wrong condition: (self.data.redeem_allowed : sp.TBool) (contracts/tests/mock/ComptrollerMock.py, line 37) - (contracts/tests/mock/ComptrollerMock.py, line 37) + -> --- Expected failure in transaction --- contracts/tests/mock/ComptrollerMock.py:37:: Wrong condition: (self.data.redeem_allowed : sp.TBool) Comment... h3: Redeem allowed again - => ../TezFinTest/CToken_Tests/step_078_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_078_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_078_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_081_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_081_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_081_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 32 (Pair 5 {8}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 50000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000020160175695261)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1050000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 13 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000800000275200 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 50000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1050000000))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 13 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000800000275200 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 50000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1050000000))))) + Transfer params: sp.record(borrows = 20, cash = 1050, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 20, cash = 1050, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 36 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 50000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000023520243433451)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1050000000))))) - => ../TezFinTest/CToken_Tests/step_079_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_079_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_079_cont_1_params.json 1 +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 14 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000880000339200 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 50000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1050000000))))) + => ./TezFinTest/CToken_Tests/step_082_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_082_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_082_cont_1_params.json 1 Executing updateAssetPrice(sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'))... -> (Pair (Pair True True) (Pair False True)) - => ../TezFinTest/CToken_Tests/step_080_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_080_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_080_cont_1_params.json 1 -Executing updateAccountLiquidity(sp.to_constant(sp.test_account("Carl").address))... + => ./TezFinTest/CToken_Tests/step_083_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_083_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_083_cont_1_params.json 1 +Executing updateAccountLiquidity(sp.resolve(sp.test_account("Carl").address))... -> (Pair (Pair True True) (Pair False True)) - => ../TezFinTest/CToken_Tests/step_081_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_081_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_081_cont_1_params.json 1 + => ./TezFinTest/CToken_Tests/step_084_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_084_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_084_cont_1_params.json 1 Executing setRedeemAllowed(True)... -> (Pair (Pair True True) (Pair True True)) - => ../TezFinTest/CToken_Tests/step_082_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_082_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_082_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_085_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_085_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_085_cont_3_params.json 1 Executing redeem(10000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 36 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 40000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000023520243433451)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1040000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 14 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000880000339200 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 40000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1040000000))))) + Transfer params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), redeemer = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), redeemAmount = 10000000) amount: sp.tez(0) to: sp.contract(sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%redeemAllowed')).open_some() Executing (queue) redeemAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), redeemer = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), redeemAmount = 10000000))... -> (Pair (Pair True True) (Pair True True)) -Verifying sp.contract_data(3).balances[sp.to_constant(sp.test_account("Alice").address)].balance == 40000000... +Verifying sp.contract_data(3).ledger[sp.resolve(sp.test_account("Alice").address)].balance == 40000000... OK Comment... h3: Try redeem with insufficient balance - => ../TezFinTest/CToken_Tests/step_085_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_085_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_085_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_088_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_088_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_088_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 36 (Pair 5 {8}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 40000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000023520243433451)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1040000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 14 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000880000339200 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 40000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1040000000))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 14 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000880000339200 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 40000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1040000000))))) + Transfer params: sp.record(borrows = 20, cash = 1040, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 20, cash = 1040, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 40 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 40000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000026880322461468)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1040000000))))) - => ../TezFinTest/CToken_Tests/step_086_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_086_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_086_cont_1_params.json 1 +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 15 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000960000409600 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 40000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1040000000))))) + => ./TezFinTest/CToken_Tests/step_089_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_089_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_089_cont_1_params.json 1 Executing updateAssetPrice(sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'))... -> (Pair (Pair True True) (Pair True True)) - => ../TezFinTest/CToken_Tests/step_087_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_087_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_087_cont_1_params.json 1 -Executing updateAccountLiquidity(sp.to_constant(sp.test_account("Carl").address))... + => ./TezFinTest/CToken_Tests/step_090_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_090_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_090_cont_1_params.json 1 +Executing updateAccountLiquidity(sp.resolve(sp.test_account("Carl").address))... -> (Pair (Pair True True) (Pair True True)) - => ../TezFinTest/CToken_Tests/step_088_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_088_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_088_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_091_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_091_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_091_cont_3_params.json 1 Executing redeem(50000000)... -> --- Expected failure in transaction --- Not the proper variant constructor [Some] != [None] -(sp.as_nat(self.data.balances[sp.sender].balance - redeem_tokens.value, message = 'Insufficient balance') : sp.TNat) (contracts/CToken.py, line 131) +(sp.as_nat(self.data.ledger[sp.sender].balance - redeem_tokens.value, message = 'Insufficient balance') : sp.TNat) Message: 'Insufficient balance' - (contracts/CToken.py, line 131) + (contracts/CToken.py, line 171) Comment... h3: Redeem underlying - => ../TezFinTest/CToken_Tests/step_090_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_090_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_090_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_093_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_093_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_093_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 40 (Pair 5 {8}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 40000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000026880322461468)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1040000000))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 15 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000960000409600 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 40000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1040000000))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 15 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000960000409600 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 40000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1040000000))))) + Transfer params: sp.record(borrows = 20, cash = 1040, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 20, cash = 1040, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 44 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 40000000)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000030240412779351)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1040000000))))) - => ../TezFinTest/CToken_Tests/step_091_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_091_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_091_cont_1_params.json 1 +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 16 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001040000486400 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 40000000); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1040000000))))) + => ./TezFinTest/CToken_Tests/step_094_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_094_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_094_cont_1_params.json 1 Executing updateAssetPrice(sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'))... -> (Pair (Pair True True) (Pair True True)) - => ../TezFinTest/CToken_Tests/step_092_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_092_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_092_cont_1_params.json 1 -Executing updateAccountLiquidity(sp.to_constant(sp.test_account("Carl").address))... + => ./TezFinTest/CToken_Tests/step_095_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_095_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_095_cont_1_params.json 1 +Executing updateAccountLiquidity(sp.resolve(sp.test_account("Carl").address))... -> (Pair (Pair True True) (Pair True True)) - => ../TezFinTest/CToken_Tests/step_093_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_093_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_093_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_096_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_096_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_096_cont_3_params.json 1 Executing redeemUnderlying(10)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 44 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000030240412779351)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 16 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001040000486400 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1030188679))))) + Transfer params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), redeemer = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), redeemAmount = 10) amount: sp.tez(0) to: sp.contract(sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%redeemAllowed')).open_some() Executing (queue) redeemAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), redeemer = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), redeemAmount = 10))... -> (Pair (Pair True True) (Pair True True)) -Verifying sp.contract_data(3).balances[sp.to_constant(sp.test_account("Alice").address)].balance == 30188680... +Verifying sp.contract_data(3).ledger[sp.resolve(sp.test_account("Alice").address)].balance == 30188679... OK Comment... h3: Try redeem in callback - => ../TezFinTest/CToken_Tests/step_096_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_096_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_096_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_099_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_099_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_099_cont_3_params.json 1 Executing getCash((sp.unit, sp.contract_typed(KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeem)))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 44 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000030240412779351)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 16 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001040000486400 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1030188679))))) + Transfer params: 1030 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeem')).open_some() Executing (queue) redeem(1030)... - -> --- Expected failure in transaction --- Wrong condition: (sp.sender != sp.self_address : sp.TBool) (contracts/CToken.py, line 738) + -> --- Expected failure in transaction --- contracts/CToken.py:955:: Wrong condition: (sp.sender != sp.self_address : sp.TBool) Message: 'CT_INTERNAL_CALL' - (contracts/CToken.py, line 738) Comment... h3: Try redeem underlying in callback - => ../TezFinTest/CToken_Tests/step_098_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_098_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_098_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_101_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_101_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_101_cont_3_params.json 1 Executing getCash((sp.unit, sp.contract_typed(KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeemUnderlying)))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 44 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000030240412779351)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 16 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001040000486400 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1030188679))))) + Transfer params: 1030 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeemUnderlying')).open_some() Executing (queue) redeemUnderlying(1030)... - -> --- Expected failure in transaction --- Wrong condition: (sp.sender != sp.self_address : sp.TBool) (contracts/CToken.py, line 738) + -> --- Expected failure in transaction --- contracts/CToken.py:955:: Wrong condition: (sp.sender != sp.self_address : sp.TBool) Message: 'CT_INTERNAL_CALL' - (contracts/CToken.py, line 738) Comment... h2: Test Repay borrow Comment... h3: Repay borrow allowed Comment... h4: call repayBorrow with old accrue interest - => ../TezFinTest/CToken_Tests/step_102_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_102_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_102_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_105_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_105_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_105_cont_3_params.json 1 Executing repayBorrow(1)... - -> --- Expected failure in transaction --- Wrong condition: (compute_CToken_730.value < self.data.accrualIntPeriodRelevance : sp.TBool) (contracts/CToken.py, line 731) + -> --- Expected failure in transaction --- contracts/CToken.py:949:: Wrong condition: (sp.level == self.data.accrualBlockNumber : sp.TBool) Message: 'CT_INTEREST_OLD' - (contracts/CToken.py, line 731) -Verifying sp.contract_data(3).isAccrualInterestValid == False... - OK Comment... h4: call repayBorrow with relevant accrue interest - => ../TezFinTest/CToken_Tests/step_105_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_105_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_105_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_107_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_107_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_107_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 44 (Pair 5 {8}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000030240412779351)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 16 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001040000486400 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1030188679))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 16 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001040000486400 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1030188679))))) + Transfer params: sp.record(borrows = 20, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 20, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 56 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000010920046569696 10) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000040320717602711)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 20 (Pair 0 1030188680))))) - => ../TezFinTest/CToken_Tests/step_106_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_106_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_106_cont_3_params.json 1 +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 20 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001360000819200 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000000560000121600 10); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 20) (Pair 0 1030188679))))) + => ./TezFinTest/CToken_Tests/step_108_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_108_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_108_cont_3_params.json 1 Executing repayBorrow(1)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 56 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000040320717602711 9) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000040320717602711)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 19 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 20 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001360000819200 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001360000819200 9); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 19) (Pair 0 1030188679))))) + Transfer params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), payer = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), borrower = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), repayAmount = 1) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%repayBorrowAllowed')).open_some() Executing (queue) repayBorrowAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), payer = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), borrower = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), repayAmount = 1))... -> (Pair (Pair True True) (Pair True True)) -Verifying sp.contract_data(3).balances[sp.to_constant(sp.test_account("Alice").address)].accountBorrows.principal == 9... +Verifying sp.contract_data(3).borrows[sp.resolve(sp.test_account("Alice").address)].principal == 9... OK Comment... h3: Repay borrow not allowed - => ../TezFinTest/CToken_Tests/step_109_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_109_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_109_cont_1_params.json 1 + => ./TezFinTest/CToken_Tests/step_111_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_111_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_111_cont_1_params.json 1 Executing setRepayBorrowAllowed(False)... -> (Pair (Pair True True) (Pair True False)) - => ../TezFinTest/CToken_Tests/step_110_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_110_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_110_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_112_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_112_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_112_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 56 (Pair 5 {8}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000040320717602711 9) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000040320717602711)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 19 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 20 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001360000819200 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001360000819200 9); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 19) (Pair 0 1030188679))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 20 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001360000819200 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001360000819200 9); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 19) (Pair 0 1030188679))))) + Transfer params: sp.record(borrows = 19, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 19, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 58 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000040320717602711 9) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000042000785341516)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 19 (Pair 0 1030188680))))) - => ../TezFinTest/CToken_Tests/step_111_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_111_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_111_cont_3_params.json 1 +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 21 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001440000928000 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001360000819200 9); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 19) (Pair 0 1030188679))))) + => ./TezFinTest/CToken_Tests/step_113_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_113_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_113_cont_3_params.json 1 Executing repayBorrow(1)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 58 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000042000785341516 8) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000042000785341516)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 18 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 21 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001440000928000 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001440000928000 8); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 18) (Pair 0 1030188679))))) + Transfer params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), payer = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), borrower = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), repayAmount = 1) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%repayBorrowAllowed')).open_some() Executing (queue) repayBorrowAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), payer = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), borrower = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), repayAmount = 1))... - -> --- Expected failure in transaction --- Wrong condition: (self.data.repay_borrow_allowed : sp.TBool) (contracts/tests/mock/ComptrollerMock.py, line 55) - (contracts/tests/mock/ComptrollerMock.py, line 55) + -> --- Expected failure in transaction --- contracts/tests/mock/ComptrollerMock.py:55:: Wrong condition: (self.data.repay_borrow_allowed : sp.TBool) Comment... h3: Repay borrow allowed again - => ../TezFinTest/CToken_Tests/step_113_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_113_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_113_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_115_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_115_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_115_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 58 (Pair 5 {8}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000040320717602711 9) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000042000785341516)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 19 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 21 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001440000928000 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001360000819200 9); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 19) (Pair 0 1030188679))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 21 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001440000928000 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001360000819200 9); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 19) (Pair 0 1030188679))))) + Transfer params: sp.record(borrows = 19, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 19, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 60 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000040320717602711 9) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000043680855902835)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 19 (Pair 0 1030188680))))) - => ../TezFinTest/CToken_Tests/step_114_cont_1_params.py 1 - => ../TezFinTest/CToken_Tests/step_114_cont_1_params.tz 1 - => ../TezFinTest/CToken_Tests/step_114_cont_1_params.json 1 +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 22 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001520001043200 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001360000819200 9); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 19) (Pair 0 1030188679))))) + => ./TezFinTest/CToken_Tests/step_116_cont_1_params.py 1 + => ./TezFinTest/CToken_Tests/step_116_cont_1_params.tz 1 + => ./TezFinTest/CToken_Tests/step_116_cont_1_params.json 1 Executing setRepayBorrowAllowed(True)... -> (Pair (Pair True True) (Pair True True)) - => ../TezFinTest/CToken_Tests/step_115_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_115_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_115_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_117_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_117_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_117_cont_3_params.json 1 Executing repayBorrow(1)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 60 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000043680855902835 8) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000043680855902835)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 18 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 22 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001520001043200 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001520001043200 8); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 18) (Pair 0 1030188679))))) + Transfer params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), payer = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), borrower = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), repayAmount = 1) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%repayBorrowAllowed')).open_some() Executing (queue) repayBorrowAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), payer = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), borrower = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), repayAmount = 1))... -> (Pair (Pair True True) (Pair True True)) -Verifying sp.contract_data(3).balances[sp.to_constant(sp.test_account("Alice").address)].accountBorrows.principal == 8... +Verifying sp.contract_data(3).borrows[sp.resolve(sp.test_account("Alice").address)].principal == 8... OK Comment... h3: Repay borrow behalf - => ../TezFinTest/CToken_Tests/step_118_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_118_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_118_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_120_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_120_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_120_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 60 (Pair 5 {8}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000043680855902835 8) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000043680855902835)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 18 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 22 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001520001043200 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001520001043200 8); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 18) (Pair 0 1030188679))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 22 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001520001043200 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001520001043200 8); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 18) (Pair 0 1030188679))))) + Transfer params: sp.record(borrows = 18, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 18, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 62 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000043680855902835 8) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000045360929286672)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 18 (Pair 0 1030188680))))) - => ../TezFinTest/CToken_Tests/step_119_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_119_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_119_cont_3_params.json 1 -Executing repayBorrowBehalf(sp.record(borrower = sp.to_constant(sp.test_account("Alice").address), repayAmount = 1))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 62 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000045360929286672 7) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000045360929286672)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 17 (Pair 0 1030188680))))) +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 23 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001600001164800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001520001043200 8); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 18) (Pair 0 1030188679))))) + => ./TezFinTest/CToken_Tests/step_121_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_121_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_121_cont_3_params.json 1 +Executing repayBorrowBehalf(sp.record(borrower = sp.resolve(sp.test_account("Alice").address), repayAmount = 1))... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 23 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001600001164800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001600001164800 7); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 17) (Pair 0 1030188679))))) + Transfer params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), payer = sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C'), borrower = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), repayAmount = 1) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%repayBorrowAllowed')).open_some() Executing (queue) repayBorrowAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), payer = sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C'), borrower = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), repayAmount = 1))... -> (Pair (Pair True True) (Pair True True)) -Verifying sp.contract_data(3).balances[sp.to_constant(sp.test_account("Alice").address)].accountBorrows.principal == 7... +Verifying sp.contract_data(3).borrows[sp.resolve(sp.test_account("Alice").address)].principal == 7... OK Comment... h3: Repay more than borrowed - => ../TezFinTest/CToken_Tests/step_122_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_122_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_122_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_124_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_124_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_124_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 62 (Pair 5 {8}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000045360929286672 7) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000045360929286672)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 17 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 23 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001600001164800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001600001164800 7); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 17) (Pair 0 1030188679))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 23 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001600001164800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001600001164800 7); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 17) (Pair 0 1030188679))))) + Transfer params: sp.record(borrows = 17, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 17, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 64 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000045360929286672 7) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000047041005493033)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 17 (Pair 0 1030188680))))) - => ../TezFinTest/CToken_Tests/step_123_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_123_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_123_cont_3_params.json 1 -Executing repayBorrow(1000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 64 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000047041005493033)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 24 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001680001292800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001600001164800 7); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 17) (Pair 0 1030188679))))) + => ./TezFinTest/CToken_Tests/step_125_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_125_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_125_cont_3_params.json 1 +Executing repayBorrow(1007)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 24 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001680001292800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) + Transfer - params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), payer = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), borrower = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), repayAmount = 1000) + params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), payer = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), borrower = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), repayAmount = 1007) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%repayBorrowAllowed')).open_some() -Executing (queue) repayBorrowAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), payer = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), borrower = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), repayAmount = 1000))... + + Transfer + params: sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi') + amount: sp.tez(0) + to: sp.contract(sp.TAddress, sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%removeFromLoans')).open_some() +Executing (queue) repayBorrowAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), payer = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), borrower = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), repayAmount = 1007))... + -> (Pair (Pair True True) (Pair True True)) +Executing (queue) removeFromLoans(sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'))... -> (Pair (Pair True True) (Pair True True)) -Verifying sp.contract_data(3).balances[sp.to_constant(sp.test_account("Alice").address)].accountBorrows.principal == 0... +Computing sp.contract_data(3).borrows[sp.resolve(sp.test_account("Alice").address)].principal... + => 0 +Verifying sp.contract_data(3).borrows[sp.resolve(sp.test_account("Alice").address)].principal == 0... OK Comment... h3: Try repayBorrow in callback - => ../TezFinTest/CToken_Tests/step_126_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_126_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_126_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_129_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_129_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_129_cont_3_params.json 1 Executing getCash((sp.unit, sp.contract_typed(KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeem)))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 64 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 0))} 1000047041005493033)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 24 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001680001292800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) + Transfer params: 1030 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeem')).open_some() Executing (queue) redeem(1030)... - -> --- Expected failure in transaction --- Wrong condition: (sp.sender != sp.self_address : sp.TBool) (contracts/CToken.py, line 738) + -> --- Expected failure in transaction --- contracts/CToken.py:955:: Wrong condition: (sp.sender != sp.self_address : sp.TBool) Message: 'CT_INTERNAL_CALL' - (contracts/CToken.py, line 738) Comment... h2: Test transfer Comment... h3: No tokens to transfer - => ../TezFinTest/CToken_Tests/step_129_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_129_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_129_cont_3_params.json 4 -Executing transfer(sp.record(from_ = sp.to_constant(sp.test_account("Carl").address), to_ = sp.to_constant(sp.test_account("Alice").address), value = 100))... - -> --- Expected failure in transaction --- Wrong condition: (self.data.balances[params.from_].balance >= params.value : sp.TBool) (contracts/CToken.py, line 253) -Message: 'CT_INSUFFICIENT_BALANCE' - (contracts/CToken.py, line 253) + => ./TezFinTest/CToken_Tests/step_132_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_132_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_132_cont_3_params.json 4 +Executing transfer(sp.record(from_ = sp.resolve(sp.test_account("Carl").address), to_ = sp.resolve(sp.test_account("Alice").address), value = 100))... + -> --- Expected failure in transaction --- contracts/CToken.py:413:: Wrong condition: (self.data.ledger[params.from_].balance >= params.value : sp.TBool) +Message: 'FA1.2_InsufficientBalance' Comment... h3: No approved tokens to transfer - => ../TezFinTest/CToken_Tests/step_131_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_131_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_131_cont_3_params.json 4 -Executing transfer(sp.record(from_ = sp.to_constant(sp.test_account("Alice").address), to_ = sp.to_constant(sp.test_account("Carl").address), value = 100))... - -> --- Expected failure in transaction --- Missing item in map: sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58') is not in {} while evaluating self.data.balances[params.from_].approvals[sp.sender] + => ./TezFinTest/CToken_Tests/step_134_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_134_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_134_cont_3_params.json 4 +Executing transfer(sp.record(from_ = sp.resolve(sp.test_account("Alice").address), to_ = sp.resolve(sp.test_account("Carl").address), value = 100))... + -> --- Expected failure in transaction --- Missing item in map: sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58') is not in {} while evaluating self.data.ledger[params.from_].approvals[sp.sender] Comment... h3: Transfer successfully - => ../TezFinTest/CToken_Tests/step_133_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_133_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_133_cont_3_params.json 4 -Executing transfer(sp.record(from_ = sp.to_constant(sp.test_account("Alice").address), to_ = sp.to_constant(sp.test_account("Carl").address), value = 100))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 64 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188580)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 100))} 1000047041005493033)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) + => ./TezFinTest/CToken_Tests/step_136_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_136_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_136_cont_3_params.json 4 +Executing transfer(sp.record(from_ = sp.resolve(sp.test_account("Alice").address), to_ = sp.resolve(sp.test_account("Carl").address), value = 100))... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 24 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001680001292800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188579); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 100)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) + Transfer params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), src = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), dst = sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58'), transferTokens = 100) amount: sp.tez(0) to: sp.contract(sp.TRecord(cToken = sp.TAddress, dst = sp.TAddress, src = sp.TAddress, transferTokens = sp.TNat).layout((("cToken", "src"), ("dst", "transferTokens"))), sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%transferAllowed')).open_some() Executing (queue) transferAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), src = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), dst = sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58'), transferTokens = 100))... -> (Pair (Pair True True) (Pair True True)) - => ../TezFinTest/CToken_Tests/step_134_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_134_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_134_cont_3_params.json 1 -Executing getBalance((sp.to_constant(sp.test_account("Carl").address), sp.contract_typed(KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat)))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 64 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188580)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {} 100))} 1000047041005493033)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) + => ./TezFinTest/CToken_Tests/step_137_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_137_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_137_cont_3_params.json 1 +Executing getBalance((sp.resolve(sp.test_account("Carl").address), sp.contract_typed(KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat)))... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 24 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001680001292800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188579); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 100)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) + Transfer params: 100 amount: sp.tez(0) @@ -957,16 +1050,16 @@ Verifying sp.pack(sp.set_type_expr(sp.contract_data(0).last, sp.TOption(sp.TNat) OK Comment... h3: Approve and transfer successfully - => ../TezFinTest/CToken_Tests/step_137_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_137_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_137_cont_3_params.json 1 -Executing approve(sp.record(spender = sp.to_constant(sp.test_account("Alice").address), value = 100))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 64 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188580)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 100} 100))} 1000047041005493033)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) - => ../TezFinTest/CToken_Tests/step_138_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_138_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_138_cont_3_params.json 7 -Executing getAllowance((sp.record(owner = sp.to_constant(sp.test_account("Carl").address), spender = sp.to_constant(sp.test_account("Alice").address)), sp.contract_typed(KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat)))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 64 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188580)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 100} 100))} 1000047041005493033)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) + => ./TezFinTest/CToken_Tests/step_140_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_140_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_140_cont_3_params.json 1 +Executing approve(sp.record(spender = sp.resolve(sp.test_account("Alice").address), value = 100))... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 24 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001680001292800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188579); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 100} 100)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) + => ./TezFinTest/CToken_Tests/step_141_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_141_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_141_cont_3_params.json 7 +Executing getAllowance((sp.record(owner = sp.resolve(sp.test_account("Carl").address), spender = sp.resolve(sp.test_account("Alice").address)), sp.contract_typed(KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat)))... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 24 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001680001292800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188579); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 100} 100)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) + Transfer params: 100 amount: sp.tez(0) @@ -975,18 +1068,18 @@ Executing (queue) targetNat(100)... -> (Some 100) Verifying sp.pack(sp.set_type_expr(sp.contract_data(0).last, sp.TOption(sp.TNat))) == sp.pack(sp.set_type_expr(sp.some(100), sp.TOption(sp.TNat)))... OK - => ../TezFinTest/CToken_Tests/step_140_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_140_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_140_cont_3_params.json 4 -Executing transfer(sp.record(from_ = sp.to_constant(sp.test_account("Carl").address), to_ = sp.to_constant(sp.test_account("Alice").address), value = 100))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 64 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000047041005493033)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) + => ./TezFinTest/CToken_Tests/step_143_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_143_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_143_cont_3_params.json 4 +Executing transfer(sp.record(from_ = sp.resolve(sp.test_account("Carl").address), to_ = sp.resolve(sp.test_account("Alice").address), value = 100))... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 24 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001680001292800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) + Transfer params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), src = sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58'), dst = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), transferTokens = 100) amount: sp.tez(0) to: sp.contract(sp.TRecord(cToken = sp.TAddress, dst = sp.TAddress, src = sp.TAddress, transferTokens = sp.TNat).layout((("cToken", "src"), ("dst", "transferTokens"))), sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%transferAllowed')).open_some() Executing (queue) transferAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), src = sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58'), dst = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), transferTokens = 100))... -> (Pair (Pair True True) (Pair True True)) -Verifying sp.contract_data(3).balances[sp.to_constant(sp.test_account("Carl").address)].balance == 0... +Verifying sp.contract_data(3).ledger[sp.resolve(sp.test_account("Carl").address)].balance == 0... OK Comment... h2: Admin functions @@ -994,115 +1087,110 @@ Comment... h3: Pending governance Comment... h4: Common user attempts to set pending governance - => ../TezFinTest/CToken_Tests/step_145_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_145_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_145_cont_3_params.json 1 -Executing setPendingGovernance(sp.to_constant(sp.test_account("Bob").address))... - -> --- Expected failure in transaction --- Wrong condition: (sp.sender == self.data.administrator : sp.TBool) (contracts/CToken.py, line 724) + => ./TezFinTest/CToken_Tests/step_148_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_148_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_148_cont_3_params.json 1 +Executing setPendingGovernance(sp.resolve(sp.test_account("Bob").address))... + -> --- Expected failure in transaction --- contracts/CToken.py:943:: Wrong condition: (sp.sender == self.data.administrator : sp.TBool) Message: 'CT_NOT_ADMIN' - (contracts/CToken.py, line 724) Comment... h4: Admin attempts to set pending governance - => ../TezFinTest/CToken_Tests/step_147_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_147_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_147_cont_3_params.json 1 -Executing setPendingGovernance(sp.to_constant(sp.test_account("Bob").address))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 64 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000047041005493033)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False (Some "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C")))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) + => ./TezFinTest/CToken_Tests/step_150_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_150_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_150_cont_3_params.json 1 +Executing setPendingGovernance(sp.resolve(sp.test_account("Bob").address))... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 24 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001680001292800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair (Some "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C") 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) Comment... h3: Accept governance Comment... h4: Not pending admin attempts to accept governance - => ../TezFinTest/CToken_Tests/step_150_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_150_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_150_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_153_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_153_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_153_cont_3_params.json 1 Executing acceptGovernance(sp.unit)... - -> --- Expected failure in transaction --- Wrong condition: (sp.sender == self.data.pendingAdministrator.open_some(message = 'CT_NOT_SET_PENDING_ADMIN') : sp.TBool) (contracts/CToken.py, line 592) + -> --- Expected failure in transaction --- contracts/CToken.py:810:: Wrong condition: (sp.sender == self.data.pendingAdministrator.open_some(message = 'CT_NOT_SET_PENDING_ADMIN') : sp.TBool) Message: 'CT_NOT_PENDING_ADMIN' - (contracts/CToken.py, line 592) Comment... h4: Pending admin attempts to accept governance - => ../TezFinTest/CToken_Tests/step_152_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_152_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_152_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_155_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_155_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_155_cont_3_params.json 1 Executing acceptGovernance(sp.unit)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 64 (Pair 5 {}))) (Pair (Pair "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000047041005493033)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) -Verifying sp.contract_data(3).administrator == sp.to_constant(sp.test_account("Bob").address)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 24 (Pair {} "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C"))) (Pair (Pair 1000001680001292800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) +Verifying sp.contract_data(3).administrator == sp.resolve(sp.test_account("Bob").address)... OK Verifying sp.contract_data(3).pendingAdministrator == sp.none... OK - => ../TezFinTest/CToken_Tests/step_155_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_155_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_155_cont_3_params.json 1 -Executing setPendingGovernance(sp.to_constant(sp.test_account("admin").address))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 64 (Pair 5 {}))) (Pair (Pair "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000047041005493033)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False (Some "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5")))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) - => ../TezFinTest/CToken_Tests/step_156_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_156_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_156_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_158_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_158_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_158_cont_3_params.json 1 +Executing setPendingGovernance(sp.resolve(sp.test_account("admin").address))... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 24 (Pair {} "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C"))) (Pair (Pair 1000001680001292800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair (Some "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5") 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) + => ./TezFinTest/CToken_Tests/step_159_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_159_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_159_cont_3_params.json 1 Executing acceptGovernance(sp.unit)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 64 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000047041005493033)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 24 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001680001292800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) Comment... h3: Remove pending governance - => ../TezFinTest/CToken_Tests/step_158_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_158_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_158_cont_3_params.json 1 -Executing setPendingGovernance(sp.to_constant(sp.test_account("Bob").address))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 64 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000047041005493033)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False (Some "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C")))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) + => ./TezFinTest/CToken_Tests/step_161_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_161_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_161_cont_3_params.json 1 +Executing setPendingGovernance(sp.resolve(sp.test_account("Bob").address))... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 24 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001680001292800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair (Some "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C") 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) Comment... h4: Common user attempts to remove pending governance - => ../TezFinTest/CToken_Tests/step_160_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_160_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_160_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_163_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_163_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_163_cont_3_params.json 1 Executing removePendingGovernance(sp.unit)... - -> --- Expected failure in transaction --- Wrong condition: (sp.sender == self.data.administrator : sp.TBool) (contracts/CToken.py, line 724) + -> --- Expected failure in transaction --- contracts/CToken.py:943:: Wrong condition: (sp.sender == self.data.administrator : sp.TBool) Message: 'CT_NOT_ADMIN' - (contracts/CToken.py, line 724) Comment... h4: Admin attempts to remove pending governance - => ../TezFinTest/CToken_Tests/step_162_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_162_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_162_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_165_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_165_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_165_cont_3_params.json 1 Executing removePendingGovernance(sp.unit)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 64 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000047041005493033)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 24 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001680001292800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) Verifying sp.contract_data(3).pendingAdministrator == sp.none... OK Comment... h3: Set comptroller Comment... h4: Common user attempts to set comptroller - => ../TezFinTest/CToken_Tests/step_166_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_166_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_166_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_169_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_169_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_169_cont_3_params.json 1 Executing setComptroller(sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF'))... - -> --- Expected failure in transaction --- Wrong condition: (sp.sender == self.data.administrator : sp.TBool) (contracts/CToken.py, line 724) + -> --- Expected failure in transaction --- contracts/CToken.py:943:: Wrong condition: (sp.sender == self.data.administrator : sp.TBool) Message: 'CT_NOT_ADMIN' - (contracts/CToken.py, line 724) Comment... h4: Admin attempts to set comptroller - => ../TezFinTest/CToken_Tests/step_168_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_168_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_168_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_171_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_171_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_171_cont_3_params.json 1 Executing setComptroller(sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF'))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 64 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000047041005493033)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 24 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001680001292800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) Verifying sp.contract_data(3).comptroller == sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF')... OK Comment... h3: Set interest rate model Comment... h4: Common user attempts to set interest rate model - => ../TezFinTest/CToken_Tests/step_172_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_172_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_172_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_175_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_175_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_175_cont_3_params.json 1 Executing setInterestRateModel(sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H'))... - -> --- Expected failure in transaction --- Wrong condition: (sp.sender == self.data.administrator : sp.TBool) (contracts/CToken.py, line 724) + -> --- Expected failure in transaction --- contracts/CToken.py:943:: Wrong condition: (sp.sender == self.data.administrator : sp.TBool) Message: 'CT_NOT_ADMIN' - (contracts/CToken.py, line 724) Comment... h4: Admin attempts to set interest rate model - => ../TezFinTest/CToken_Tests/step_174_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_174_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_174_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_177_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_177_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_177_cont_3_params.json 1 Executing setInterestRateModel(sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H'))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 64 (Pair 5 {9}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000047041005493033)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 24 (Pair {9} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001680001292800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) + Transfer params: sp.unit amount: sp.tez(0) @@ -1112,41 +1200,46 @@ Executing setInterestRateModel(sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H' amount: sp.tez(0) to: sp.contract(sp.TAddress, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setInterestRateModelInternal')).open_some() Executing (queue) accrueInterest(sp.unit)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 64 (Pair 5 {8; 9}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000047041005493033)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 24 (Pair {8; 9} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001680001292800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 24 (Pair {8; 9} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000001680001292800 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) + Transfer params: sp.record(borrows = 10, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 10, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 86 (Pair 5 {9}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000065521874810814)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 36 (Pair {9} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002640002905601 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) Executing (queue) setInterestRateModelInternal(sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H'))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 86 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000065521874810814)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 36 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002640002905601 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) Verifying sp.contract_data(3).interestRateModel == sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H')... OK Comment... h3: Set reserve factor Comment... h4: Common user attempts to Set reserve factor - => ../TezFinTest/CToken_Tests/step_178_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_178_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_178_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_181_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_181_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_181_cont_3_params.json 1 Executing setReserveFactor(1)... - -> --- Expected failure in transaction --- Wrong condition: (sp.sender == self.data.administrator : sp.TBool) (contracts/CToken.py, line 724) + -> --- Expected failure in transaction --- contracts/CToken.py:943:: Wrong condition: (sp.sender == self.data.administrator : sp.TBool) Message: 'CT_NOT_ADMIN' - (contracts/CToken.py, line 724) Comment... h4: Admin attempts to Set reserve factor - => ../TezFinTest/CToken_Tests/step_180_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_180_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_180_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_183_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_183_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_183_cont_3_params.json 1 Executing setReserveFactor(1)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 86 (Pair 5 {10}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000065521874810814)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 36 (Pair {10} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002640002905601 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) + Transfer params: sp.unit amount: sp.tez(0) @@ -1156,30 +1249,18 @@ Executing setReserveFactor(1)... amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setReserveFactorInternal')).open_some() Executing (queue) accrueInterest(sp.unit)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 86 (Pair 5 {8; 10}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000065521874810814)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) - + Transfer - params: sp.record(borrows = 10, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) - amount: sp.tez(0) - to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() -Executing (queue) getBorrowRate(sp.record(borrows = 10, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) - + Transfer - params: 840000000000 - amount: sp.tez(0) - to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 88 (Pair 5 {10}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000067201984887563)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 0 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 36 (Pair {10} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002640002905601 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) Executing (queue) setReserveFactorInternal(1)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 88 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000067201984887563)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 36 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002640002905601 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) Verifying sp.contract_data(3).reserveFactorMantissa == 1... OK Comment... h3: Add reserves - => ../TezFinTest/CToken_Tests/step_183_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_183_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_183_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_186_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_186_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_186_cont_3_params.json 1 Executing addReserves(10)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 88 (Pair 5 {11}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000067201984887563)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 36 (Pair {11} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002640002905601 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) + Transfer params: sp.unit amount: sp.tez(0) @@ -1189,54 +1270,58 @@ Executing addReserves(10)... amount: sp.tez(0) to: sp.contract(sp.TRecord(addAmount = sp.TNat, originalSender = sp.TAddress).layout(("addAmount", "originalSender")), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%addReservesInternal')).open_some() Executing (queue) accrueInterest(sp.unit)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 88 (Pair 5 {8; 11}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000067201984887563)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 36 (Pair {8; 11} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002640002905601 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 36 (Pair {8; 11} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002640002905601 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) + Transfer params: sp.record(borrows = 10, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 10, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 0))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 89 (Pair 5 {11}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000068042041337230)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 0 1030188680))))) +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 37 (Pair {11} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002720003116801 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 0 1030188679))))) Executing (queue) addReservesInternal(sp.record(addAmount = 10, originalSender = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi')))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 89 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000068042041337230)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 10 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 37 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002720003116801 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 10 1030188679))))) Comment... h4: Try add reserves in callback - => ../TezFinTest/CToken_Tests/step_185_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_185_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_185_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_188_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_188_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_188_cont_3_params.json 1 Executing getCash((sp.unit, sp.contract_typed(KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%addReserves)))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 89 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000068042041337230)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 10 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 37 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002720003116801 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 10 1030188679))))) + Transfer params: 1030 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%addReserves')).open_some() Executing (queue) addReserves(1030)... - -> --- Expected failure in transaction --- Wrong condition: (sp.sender != sp.self_address : sp.TBool) (contracts/CToken.py, line 738) + -> --- Expected failure in transaction --- contracts/CToken.py:955:: Wrong condition: (sp.sender != sp.self_address : sp.TBool) Message: 'CT_INTERNAL_CALL' - (contracts/CToken.py, line 738) Comment... h3: Reduce reserves Comment... h4: Common user attempts to reduce reserves - => ../TezFinTest/CToken_Tests/step_188_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_188_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_188_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_191_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_191_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_191_cont_3_params.json 1 Executing reduceReserves(5)... - -> --- Expected failure in transaction --- Wrong condition: (sp.sender == self.data.administrator : sp.TBool) (contracts/CToken.py, line 724) + -> --- Expected failure in transaction --- contracts/CToken.py:943:: Wrong condition: (sp.sender == self.data.administrator : sp.TBool) Message: 'CT_NOT_ADMIN' - (contracts/CToken.py, line 724) Comment... h4: Admin attempts to reduce reserves - => ../TezFinTest/CToken_Tests/step_190_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_190_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_190_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_193_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_193_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_193_cont_3_params.json 1 Executing reduceReserves(5)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 89 (Pair 5 {12}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000068042041337230)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 10 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 37 (Pair {12} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002720003116801 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 10 1030188679))))) + Transfer params: sp.unit amount: sp.tez(0) @@ -1246,28 +1331,34 @@ Executing reduceReserves(5)... amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%reduceReservesInternal')).open_some() Executing (queue) accrueInterest(sp.unit)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 89 (Pair 5 {8; 12}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000068042041337230)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 10 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 37 (Pair {8; 12} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002720003116801 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 10 1030188679))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 37 (Pair {8; 12} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002720003116801 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 10 1030188679))))) + Transfer params: sp.record(borrows = 10, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 10) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 10, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 10))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 92 (Pair 5 {12}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000070562212803174)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 10 1030188680))))) +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 38 (Pair {12} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002800003334401 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 10 1030188679))))) Executing (queue) reduceReservesInternal(5)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 92 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000070562212803174)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 38 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002800003334401 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1030188679))))) Comment... h4: Try to reduce insufficient - => ../TezFinTest/CToken_Tests/step_192_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_192_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_192_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_195_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_195_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_195_cont_3_params.json 1 Executing reduceReserves(100000000000000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 92 (Pair 5 {12}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000070562212803174)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 38 (Pair {12} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002800003334401 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1030188679))))) + Transfer params: sp.unit amount: sp.tez(0) @@ -1277,59 +1368,63 @@ Executing reduceReserves(100000000000000000000)... amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%reduceReservesInternal')).open_some() Executing (queue) accrueInterest(sp.unit)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 92 (Pair 5 {8; 12}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000070562212803174)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 38 (Pair {8; 12} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002800003334401 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1030188679))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 38 (Pair {8; 12} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002800003334401 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1030188679))))) + Transfer params: sp.record(borrows = 10, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 5) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 10, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 5))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 93 (Pair 5 {12}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000071402272075432)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1030188680))))) +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 39 (Pair {12} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002880003558401 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1030188679))))) Executing (queue) reduceReservesInternal(100000000000000000000)... - -> --- Expected failure in transaction --- Wrong condition: ((self.data.totalSupply // 1000000) >= params : sp.TBool) (contracts/CToken.py, line 727) + -> --- Expected failure in transaction --- contracts/CToken.py:946:: Wrong condition: ((self.data.totalSupply // 1000000) >= params : sp.TBool) Message: 'CT_INSUFFICIENT_CASH' - (contracts/CToken.py, line 727) Comment... h3: Check hardResetOp - => ../TezFinTest/CToken_Tests/step_194_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_194_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_194_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_197_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_197_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_197_cont_3_params.json 1 Executing setActiveOp(1)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 92 (Pair 5 {1}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000070562212803174)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 38 (Pair {1} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002800003334401 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1030188679))))) Verifying sp.len(sp.contract_data(3).activeOperations) == 1... OK Comment... h4: Common user attempts to hardResetOp - => ../TezFinTest/CToken_Tests/step_197_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_197_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_197_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_200_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_200_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_200_cont_3_params.json 1 Executing hardResetOp(sp.unit)... - -> --- Expected failure in transaction --- Wrong condition: (sp.sender == self.data.administrator : sp.TBool) (contracts/CToken.py, line 724) + -> --- Expected failure in transaction --- contracts/CToken.py:943:: Wrong condition: (sp.sender == self.data.administrator : sp.TBool) Message: 'CT_NOT_ADMIN' - (contracts/CToken.py, line 724) Comment... h4: Admin attempts to hardResetOp - => ../TezFinTest/CToken_Tests/step_199_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_199_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_199_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_202_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_202_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_202_cont_3_params.json 1 Executing hardResetOp(sp.unit)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 92 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000070562212803174)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 38 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002800003334401 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1030188679))))) Verifying sp.len(sp.contract_data(3).activeOperations) == 0... OK Comment... h2: Test getBalanceOfUnderlying Comment... h3: View stored balance - => ../TezFinTest/CToken_Tests/step_203_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_203_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_203_cont_3_params.json 1 -Executing getBalanceOfUnderlying((sp.to_constant(sp.test_account("Alice").address), sp.contract_typed(KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat)))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 92 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000070562212803174)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1030188680))))) + => ./TezFinTest/CToken_Tests/step_206_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_206_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_206_cont_3_params.json 1 +Executing getBalanceOfUnderlying((sp.resolve(sp.test_account("Alice").address), sp.contract_typed(KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat)))... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 38 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002800003334401 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1030188679))))) + Transfer params: 30 amount: sp.tez(0) @@ -1340,39 +1435,45 @@ Verifying sp.pack(sp.set_type_expr(sp.contract_data(0).last, sp.TOption(sp.TNat) OK Comment... h3: Mint new tokens and check balance - => ../TezFinTest/CToken_Tests/step_206_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_206_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_206_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_209_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_209_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_209_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 92 (Pair 5 {8}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000070562212803174)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1030188680))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 38 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002800003334401 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1030188679))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 38 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000002800003334401 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1030188679))))) + Transfer params: sp.record(borrows = 10, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 5) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 10, cash = 1030, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 5))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 98 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 30188680)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000075602568436726)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1030188680))))) - => ../TezFinTest/CToken_Tests/step_207_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_207_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_207_cont_3_params.json 1 +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 42 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000003120004230402 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 30188679); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1030188679))))) + => ./TezFinTest/CToken_Tests/step_210_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_210_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_210_cont_3_params.json 1 Executing mint(100)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 98 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 129723818)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000075602568436726)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1129723818))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 42 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000003120004230402 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 129723817); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1129723817))))) + Transfer params: sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), minter = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), mintAmount = 100) amount: sp.tez(0) to: sp.contract(sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount"))), sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF%mintAllowed')).open_some() Executing (queue) mintAllowed(sp.record(cToken = sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC'), minter = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), mintAmount = 100))... -> (Pair (Pair True True) (Pair True True)) - => ../TezFinTest/CToken_Tests/step_208_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_208_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_208_cont_3_params.json 1 -Executing getBalanceOfUnderlying((sp.to_constant(sp.test_account("Alice").address), sp.contract_typed(KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat)))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 98 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 129723818)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000075602568436726)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair False None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1129723818))))) + => ./TezFinTest/CToken_Tests/step_211_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_211_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_211_cont_3_params.json 1 +Executing getBalanceOfUnderlying((sp.resolve(sp.test_account("Alice").address), sp.contract_typed(KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat)))... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 42 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000003120004230402 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 129723817); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1129723817))))) + Transfer params: 130 amount: sp.tez(0) @@ -1383,155 +1484,57 @@ Verifying sp.pack(sp.set_type_expr(sp.contract_data(0).last, sp.TOption(sp.TNat) OK Comment... h3: Try with nonexistent account - => ../TezFinTest/CToken_Tests/step_211_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_211_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_211_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_214_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_214_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_214_cont_3_params.json 1 Executing getBalanceOfUnderlying((sp.address('KT10'), sp.contract_typed(KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat)))... - -> --- Expected failure in transaction --- Missing item in map: sp.address('KT10') is not in {sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C') : sp.record(accountBorrows = sp.record(interestIndex = 0, principal = 0), approvals = {}, balance = 1000000000), sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi') : sp.record(accountBorrows = sp.record(interestIndex = 1000047041005493033, principal = 0), approvals = {}, balance = 129723818), sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58') : sp.record(accountBorrows = sp.record(interestIndex = 1000005880011289607, principal = 10), approvals = {sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi') : 0}, balance = 0)} while evaluating self.data.balances[sp.fst(params)] + -> --- Expected failure in transaction --- Missing item in map: sp.address('KT10') is not in {sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C') : sp.record(approvals = {}, balance = 1000000000), sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi') : sp.record(approvals = {}, balance = 129723817), sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58') : sp.record(approvals = {}, balance = 0)} while evaluating self.data.ledger[sp.fst(params)] Comment... h2: Test getAccountSnapshot - => ../TezFinTest/CToken_Tests/step_213_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_213_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_213_cont_3_params.json 1 + => ./TezFinTest/CToken_Tests/step_216_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_216_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_216_cont_3_params.json 1 Executing accrueInterest(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 98 (Pair 5 {8}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 129723818)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000075602568436726)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1129723818))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 42 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000003120004230402 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 129723817); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1129723817))))) + + Transfer + params: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() + amount: sp.tez(0) + to: sp.contract(sp.TContract(sp.TNat), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%accrueInterestInternal')).open_some() +Executing (queue) accrueInterestInternal(sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some())... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 42 (Pair {8} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000003120004230402 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 129723817); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1129723817))))) + Transfer params: sp.record(borrows = 10, cash = 1129, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 5) amount: sp.tez(0) to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() Executing (queue) getBorrowRate(sp.record(borrows = 10, cash = 1129, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some(), reserves = 5))... - -> (Pair 840000000000 180000000000) + -> (Pair 80000000000 180000000000) + Transfer - params: 840000000000 + params: 80000000000 amount: sp.tez(0) to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%doAccrueInterest')).open_some() -Executing (queue) doAccrueInterest(840000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 102 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 129723818)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000078962822461355)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1129723818))))) - => ../TezFinTest/CToken_Tests/step_214_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_214_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_214_cont_3_params.json 1 -Executing updateAccountSnapshot(sp.to_constant(sp.test_account("Alice").address))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 102 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 129723818)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000078962822461355)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1129723818))))) +Executing (queue) doAccrueInterest(80000000000)... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 43 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000003200004480002 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 129723817); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1129723817))))) + => ./TezFinTest/CToken_Tests/step_217_cont_3_params.py 1 + => ./TezFinTest/CToken_Tests/step_217_cont_3_params.tz 1 + => ./TezFinTest/CToken_Tests/step_217_cont_3_params.json 1 +Executing updateAccountSnapshot(sp.resolve(sp.test_account("Alice").address))... + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 43 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000003200004480002 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 129723817); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1129723817))))) + Transfer params: (sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), sp.contract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setAccountSnapshot')).open_some()) amount: sp.tez(0) to: sp.contract(sp.TPair(sp.TAddress, sp.TContract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))))), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%getAccountSnapshot')).open_some() Executing (queue) getAccountSnapshot((sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), sp.contract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setAccountSnapshot')).open_some()))... - -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 102 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 129723818)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000078962822461355)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1129723818))))) + -> (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 43 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000003200004480002 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 129723817); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1129723817))))) + Transfer - params: sp.record(account = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), borrowBalance = 0, cTokenBalance = 129723818, exchangeRateMantissa = 1003785156984) + params: sp.record(account = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), borrowBalance = 0, cTokenBalance = 129723817, exchangeRateMantissa = 1003785157872) amount: sp.tez(0) to: sp.contract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))), sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setAccountSnapshot')).open_some() -Executing (queue) setAccountSnapshot(sp.record(account = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), borrowBalance = 0, cTokenBalance = 129723818, exchangeRateMantissa = 1003785156984))... - -> (Pair (Pair (Pair (Pair 0 (Pair 129723818 1003785156984)) (Pair 102 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 129723818)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000078962822461355)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1129723818))))) -Verifying sp.contract_data(3).accCTokenBalance == 129723818... +Executing (queue) setAccountSnapshot(sp.record(account = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), borrowBalance = 0, cTokenBalance = 129723817, exchangeRateMantissa = 1003785157872))... + -> (Pair (Pair (Pair (Pair 0 (Pair 129723817 1003785157872)) (Pair 43 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000003200004480002 (Pair 800000000000 0)) (Pair (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair 0 0); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair 1000001680001292800 0); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair 1000000320000032000 10)} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair {} 1000000000); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair {} 129723817); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair {} 0)})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 10) (Pair 5 1129723817))))) +Verifying sp.contract_data(3).accCTokenBalance == 129723817... OK Verifying sp.contract_data(3).accBorrowBalance == 0... OK -Verifying sp.contract_data(3).accExchangeRateMantissa == 1003785156984... - OK -Comment... - h2: Test updateBorrowRatePerBlock -Comment... - h3: Updated - => ../TezFinTest/CToken_Tests/step_220_cont_2_params.py 1 - => ../TezFinTest/CToken_Tests/step_220_cont_2_params.tz 1 - => ../TezFinTest/CToken_Tests/step_220_cont_2_params.json 1 -Executing setBorrowRate(90000000000)... - -> (Pair 90000000000 180000000000) - => ../TezFinTest/CToken_Tests/step_221_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_221_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_221_cont_3_params.json 1 -Executing updateBorrowRatePerBlock(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 129723818 1003785156984)) (Pair 102 (Pair 5 {6}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 129723818)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000078962822461355)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1129723818))))) - + Transfer - params: sp.unit - amount: sp.tez(0) - to: sp.contract(sp.TUnit, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%updateBorrowRateInternal')).open_some() -Executing (queue) updateBorrowRateInternal(sp.unit)... - -> (Pair (Pair (Pair (Pair 0 (Pair 129723818 1003785156984)) (Pair 102 (Pair 5 {6}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 129723818)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000078962822461355)) (Pair 5000000000000 (Pair 0 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1129723818))))) - + Transfer - params: sp.record(borrows = 10, cash = 1129, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setBorrowRatePerBlock')).open_some(), reserves = 5) - amount: sp.tez(0) - to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getBorrowRate')).open_some() -Executing (queue) getBorrowRate(sp.record(borrows = 10, cash = 1129, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setBorrowRatePerBlock')).open_some(), reserves = 5))... - -> (Pair 90000000000 180000000000) - + Transfer - params: 90000000000 - amount: sp.tez(0) - to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setBorrowRatePerBlock')).open_some() -Executing (queue) setBorrowRatePerBlock(90000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 129723818 1003785156984)) (Pair 102 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 129723818)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000078962822461355)) (Pair 5000000000000 (Pair 90000000000 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1129723818))))) -Verifying sp.contract_data(3).borrowRatePerBlock == 90000000000... - OK -Comment... - h3: Try internal - => ../TezFinTest/CToken_Tests/step_224_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_224_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_224_cont_3_params.json 1 -Executing updateBorrowRateInternal(sp.record())... - -> --- Expected failure in transaction --- Wrong condition: (sp.sender == sp.self_address : sp.TBool) (contracts/CToken.py, line 735) -Message: 'CT_INTERNAL_FUNCTION' - (contracts/CToken.py, line 735) -Comment... - h3: Try set directly - => ../TezFinTest/CToken_Tests/step_226_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_226_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_226_cont_3_params.json 1 -Executing setBorrowRatePerBlock(90000000000)... - -> --- Expected failure in transaction --- Wrong condition: (sp.sender == self.data.interestRateModel : sp.TBool) (contracts/CToken.py, line 741) -Message: 'CT_SENDER_NOT_IRM' - (contracts/CToken.py, line 741) -Comment... - h2: Test updateSupplyRatePerBlock -Comment... - h3: Updated - => ../TezFinTest/CToken_Tests/step_229_cont_2_params.py 1 - => ../TezFinTest/CToken_Tests/step_229_cont_2_params.tz 1 - => ../TezFinTest/CToken_Tests/step_229_cont_2_params.json 1 -Executing setSupplyRate(80000000000)... - -> (Pair 90000000000 80000000000) - => ../TezFinTest/CToken_Tests/step_230_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_230_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_230_cont_3_params.json 1 -Executing updateSupplyRatePerBlock(sp.record())... - -> (Pair (Pair (Pair (Pair 0 (Pair 129723818 1003785156984)) (Pair 102 (Pair 5 {7}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 129723818)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000078962822461355)) (Pair 5000000000000 (Pair 90000000000 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1129723818))))) - + Transfer - params: sp.unit - amount: sp.tez(0) - to: sp.contract(sp.TUnit, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%updateSupplyRateInternal')).open_some() -Executing (queue) updateSupplyRateInternal(sp.unit)... - -> (Pair (Pair (Pair (Pair 0 (Pair 129723818 1003785156984)) (Pair 102 (Pair 5 {7}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 129723818)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000078962822461355)) (Pair 5000000000000 (Pair 90000000000 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 0)) (Pair 10 (Pair 5 1129723818))))) - + Transfer - params: sp.record(borrows = 10, cash = 1129, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setSupplyRatePerBlock')).open_some(), reserves = 5) - amount: sp.tez(0) - to: sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H%getSupplyRate')).open_some() -Executing (queue) getSupplyRate(sp.record(borrows = 10, cash = 1129, cb = sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setSupplyRatePerBlock')).open_some(), reserves = 5))... - -> (Pair 90000000000 80000000000) - + Transfer - params: 80000000000 - amount: sp.tez(0) - to: sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%setSupplyRatePerBlock')).open_some() -Executing (queue) setSupplyRatePerBlock(80000000000)... - -> (Pair (Pair (Pair (Pair 0 (Pair 129723818 1003785156984)) (Pair 102 (Pair 5 {}))) (Pair (Pair "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" (Pair {Elt "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" (Pair (Pair 0 0) (Pair {} 1000000000)); Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair (Pair 1000047041005493033 0) (Pair {} 129723818)); Elt "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair (Pair 1000005880011289607 10) (Pair {Elt "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 0} 0))} 1000078962822461355)) (Pair 5000000000000 (Pair 90000000000 "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF")))) (Pair (Pair (Pair 1000000000000000000 (Pair 500000000000000000 1000000000000)) (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" (Pair True None))) (Pair (Pair 1 (Pair 1000000000000000000 80000000000)) (Pair 10 (Pair 5 1129723818))))) -Verifying sp.contract_data(3).supplyRatePerBlock == 80000000000... +Verifying sp.contract_data(3).accExchangeRateMantissa == 1003785157872... OK -Comment... - h3: Try internal - => ../TezFinTest/CToken_Tests/step_233_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_233_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_233_cont_3_params.json 1 -Executing updateSupplyRateInternal(sp.record())... - -> --- Expected failure in transaction --- Wrong condition: (sp.sender == sp.self_address : sp.TBool) (contracts/CToken.py, line 735) -Message: 'CT_INTERNAL_FUNCTION' - (contracts/CToken.py, line 735) -Comment... - h3: Try set directly - => ../TezFinTest/CToken_Tests/step_235_cont_3_params.py 1 - => ../TezFinTest/CToken_Tests/step_235_cont_3_params.tz 1 - => ../TezFinTest/CToken_Tests/step_235_cont_3_params.json 1 -Executing setSupplyRatePerBlock(80000000000)... - -> --- Expected failure in transaction --- Wrong condition: (sp.sender == self.data.interestRateModel : sp.TBool) (contracts/CToken.py, line 741) -Message: 'CT_SENDER_NOT_IRM' - (contracts/CToken.py, line 741) - => ../TezFinTest/CToken_Tests/log.html 7205 + => ./TezFinTest/CToken_Tests/log.html 8704 diff --git a/TezFinTest/CToken_Tests/step_006_cont_0_contract.json b/TezFinTest/CToken_Tests/step_006_cont_0_contract.json new file mode 100644 index 00000000..f2955e99 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_006_cont_0_contract.json @@ -0,0 +1,15 @@ +[ + { "prim": "storage", "args": [ { "prim": "option", "args": [ { "prim": "nat" } ] } ] }, + { "prim": "parameter", "args": [ { "prim": "or", "args": [ { "prim": "nat", "annots": [ "%target" ] }, { "prim": "nat", "annots": [ "%targetNat" ] } ] } ] }, + { + "prim": "code", + "args": [ + [ + { "prim": "CAR" }, + { "prim": "IF_LEFT", "args": [ [ { "prim": "SOME" } ], [ { "prim": "SOME" } ] ] }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } + ] + ] + } +] \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_006_cont_0_contract.py b/TezFinTest/CToken_Tests/step_006_cont_0_contract.py new file mode 100644 index 00000000..a35d320b --- /dev/null +++ b/TezFinTest/CToken_Tests/step_006_cont_0_contract.py @@ -0,0 +1,17 @@ +import smartpy as sp + +class Contract(sp.Contract): + def __init__(self): + self.init_type(sp.TRecord(last = sp.TOption(sp.TNat)).layout("last")) + self.init(last = sp.none) + + @sp.entrypoint + def target(self, params): + self.data.last = sp.some(params) + + @sp.entrypoint + def targetNat(self, params): + sp.set_type(params, sp.TNat) + self.data.last = sp.some(params) + +sp.add_compilation_target("test", Contract()) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_006_cont_0_contract.py.html b/TezFinTest/CToken_Tests/step_006_cont_0_contract.py.html new file mode 100644 index 00000000..1b46e9b7 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_006_cont_0_contract.py.html @@ -0,0 +1,1922 @@ +

    Balance: 0.000000tz

    +

    Storage:

    +
    Last
    +

    Code:

    +import smartpy as sp +
    +
    class Contract(sp.Contract): +
    def __init__(self):
      self.init_type(sp.TRecord(last = sp.TOption(sp.TNat)).layout("last"))
    +
      self.init(last = sp.none)

    +
    + @sp.entrypoint +
    def target(self, params):
      self.data.last = sp.some(params)
    +
    + @sp.entrypoint +
    def targetNat(self, params):
      sp.set_type(params, sp.TNat) +
      self.data.last = sp.some(params)
    +
    +
    sp.add_compilation_target("test", Contract())
    \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_006_cont_0_contract.tz b/TezFinTest/CToken_Tests/step_006_cont_0_contract.tz new file mode 100644 index 00000000..00cb524e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_006_cont_0_contract.tz @@ -0,0 +1,19 @@ +parameter (or (nat %target) (nat %targetNat)); +storage (option nat); +code + { + CAR; # @parameter + IF_LEFT + { + # == target == + # self.data.last = sp.some(params) # @parameter%target + SOME; # option nat + } + { + # == targetNat == + # self.data.last = sp.some(params) # @parameter%targetNat + SOME; # option nat + }; # option nat + NIL operation; # list operation : option nat + PAIR; # pair (list operation) (option nat) + }; \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_006_cont_0_sizes.csv b/TezFinTest/CToken_Tests/step_006_cont_0_sizes.csv new file mode 100644 index 00000000..85f7b6e3 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_006_cont_0_sizes.csv @@ -0,0 +1,2 @@ +storage,2 +contract,75 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_006_cont_0_storage.json b/TezFinTest/CToken_Tests/step_006_cont_0_storage.json new file mode 100644 index 00000000..14c9f75c --- /dev/null +++ b/TezFinTest/CToken_Tests/step_006_cont_0_storage.json @@ -0,0 +1 @@ +{ "prim": "None" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_006_cont_0_storage.py b/TezFinTest/CToken_Tests/step_006_cont_0_storage.py new file mode 100644 index 00000000..ebe1ea28 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_006_cont_0_storage.py @@ -0,0 +1 @@ +sp.record(last = sp.none) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_006_cont_0_storage.tz b/TezFinTest/CToken_Tests/step_006_cont_0_storage.tz new file mode 100644 index 00000000..4af18322 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_006_cont_0_storage.tz @@ -0,0 +1 @@ +None \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_006_cont_0_types.py b/TezFinTest/CToken_Tests/step_006_cont_0_types.py new file mode 100644 index 00000000..952a9076 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_006_cont_0_types.py @@ -0,0 +1,6 @@ +import smartpy as sp + +tstorage = sp.TRecord(last = sp.TOption(sp.TNat)).layout("last") +tparameter = sp.TVariant(target = sp.TNat, targetNat = sp.TNat).layout(("target", "targetNat")) +tprivates = { } +tviews = { } diff --git a/TezFinTest/CToken_Tests/step_007_cont_1_contract.json b/TezFinTest/CToken_Tests/step_007_cont_1_contract.json new file mode 100644 index 00000000..d29fea13 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_007_cont_1_contract.json @@ -0,0 +1,458 @@ +[ + { + "prim": "storage", + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "pair", "args": [ { "prim": "bool", "annots": [ "%borrow_allowed" ] }, { "prim": "bool", "annots": [ "%mint_allowed" ] } ] }, + { "prim": "pair", "args": [ { "prim": "bool", "annots": [ "%redeem_allowed" ] }, { "prim": "bool", "annots": [ "%repay_borrow_allowed" ] } ] } + ] + }, + { + "prim": "big_map", + "args": [ + { "prim": "nat" }, + { + "prim": "lambda", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "address" }, + { + "prim": "pair", + "args": [ { "prim": "pair", "args": [ { "prim": "bool" }, { "prim": "bool" } ] }, { "prim": "pair", "args": [ { "prim": "bool" }, { "prim": "bool" } ] } ] + } + ] + }, + { + "prim": "pair", + "args": [ + { "prim": "list", "args": [ { "prim": "operation" } ] }, + { + "prim": "pair", + "args": [ { "prim": "pair", "args": [ { "prim": "bool" }, { "prim": "bool" } ] }, { "prim": "pair", "args": [ { "prim": "bool" }, { "prim": "bool" } ] } ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "prim": "parameter", + "args": [ + { + "prim": "or", + "args": [ + { "prim": "address", "annots": [ "%removeFromLoans" ] }, + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { "prim": "address", "annots": [ "%acceptGovernance" ] }, + { + "prim": "or", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%cToken" ] }, + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%borrower" ] }, { "prim": "nat", "annots": [ "%borrowAmount" ] } ] } + ], + "annots": [ "%borrowAllowed" ] + }, + { "prim": "unit", "annots": [ "%disableMarket" ] } + ] + } + ] + }, + { + "prim": "or", + "args": [ + { "prim": "unit", "annots": [ "%enterMarkets" ] }, + { "prim": "or", "args": [ { "prim": "unit", "annots": [ "%exitMarket" ] }, { "prim": "unit", "annots": [ "%getHypoAccountLiquidity" ] } ] } + ] + } + ] + }, + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%cToken" ] }, + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%minter" ] }, { "prim": "nat", "annots": [ "%mintAmount" ] } ] } + ], + "annots": [ "%mintAllowed" ] + }, + { + "prim": "or", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%cToken" ] }, + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%redeemer" ] }, { "prim": "nat", "annots": [ "%redeemAmount" ] } ] } + ], + "annots": [ "%redeemAllowed" ] + }, + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%cToken" ] }, + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%payer" ] }, + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%borrower" ] }, { "prim": "nat", "annots": [ "%repayAmount" ] } ] } + ] + } + ], + "annots": [ "%repayBorrowAllowed" ] + } + ] + } + ] + }, + { + "prim": "or", + "args": [ + { "prim": "or", "args": [ { "prim": "bool", "annots": [ "%setBorrowAllowed" ] }, { "prim": "unit", "annots": [ "%setBorrowPaused" ] } ] }, + { "prim": "or", "args": [ { "prim": "unit", "annots": [ "%setCloseFactor" ] }, { "prim": "unit", "annots": [ "%setCollateralFactor" ] } ] } + ] + } + ] + } + ] + }, + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { "prim": "unit", "annots": [ "%setLiquidationIncentive" ] }, + { "prim": "or", "args": [ { "prim": "nat", "annots": [ "%setLiquidityPeriodRelevance" ] }, { "prim": "bool", "annots": [ "%setMintAllowed" ] } ] } + ] + }, + { + "prim": "or", + "args": [ + { "prim": "or", "args": [ { "prim": "unit", "annots": [ "%setMintPaused" ] }, { "prim": "address", "annots": [ "%setPendingGovernance" ] } ] }, + { "prim": "or", "args": [ { "prim": "unit", "annots": [ "%setPriceOracleAndTimeDiff" ] }, { "prim": "nat", "annots": [ "%setPricePeriodRelevance" ] } ] } + ] + } + ] + }, + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { "prim": "bool", "annots": [ "%setRedeemAllowed" ] }, + { "prim": "or", "args": [ { "prim": "bool", "annots": [ "%setRepayBorrowAllowed" ] }, { "prim": "unit", "annots": [ "%setTransferPaused" ] } ] } + ] + }, + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { "prim": "unit", "annots": [ "%supportMarket" ] }, + { + "prim": "pair", + "args": [ + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%cToken" ] }, { "prim": "address", "annots": [ "%src" ] } ] }, + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%dst" ] }, { "prim": "nat", "annots": [ "%transferTokens" ] } ] } + ], + "annots": [ "%transferAllowed" ] + } + ] + }, + { "prim": "or", "args": [ { "prim": "address", "annots": [ "%updateAccountLiquidity" ] }, { "prim": "address", "annots": [ "%updateAssetPrice" ] } ] } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "prim": "code", + "args": [ + [ + { "prim": "UNPAIR", "args": [ { "int": "3" } ] }, + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "SWAP" }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "PAIR" }, + { "prim": "EXEC" }, + { "prim": "UNPAIR" } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "DROP" } ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "DROP" }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "WrongCondition: self.data.borrow_allowed" } ] }, + { "prim": "FAILWITH" } + ] + ] + } + ], + [ { "prim": "DROP" } ] + ] + } + ] + ] + } + ], + [ { "prim": "IF_LEFT", "args": [ [ { "prim": "DROP" } ], [ { "prim": "IF_LEFT", "args": [ [ { "prim": "DROP" } ], [ { "prim": "DROP" } ] ] } ] ] } ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "DROP" }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "CDR" }, + { + "prim": "IF", + "args": [ + [], + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "WrongCondition: self.data.mint_allowed" } ] }, { "prim": "FAILWITH" } ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "DROP" }, + { "prim": "DUP" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "WrongCondition: self.data.redeem_allowed" } ] }, + { "prim": "FAILWITH" } + ] + ] + } + ], + [ + { "prim": "DROP" }, + { "prim": "DUP" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "WrongCondition: self.data.repay_borrow_allowed" } ] }, + { "prim": "FAILWITH" } + ] + ] + } + ] + ] + } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "CDR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "PAIR" }, + { "prim": "PAIR" } + ], + [ { "prim": "DROP" } ] + ] + } + ], + [ { "prim": "IF_LEFT", "args": [ [ { "prim": "DROP" } ], [ { "prim": "DROP" } ] ] } ] + ] + } + ] + ] + } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "DROP" } ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "DROP" } ], + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" } + ] + ] + } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "IF_LEFT", "args": [ [ { "prim": "DROP" } ], [ { "prim": "DROP" } ] ] } ], + [ { "prim": "IF_LEFT", "args": [ [ { "prim": "DROP" } ], [ { "prim": "DROP" } ] ] } ] + ] + } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "UPDATE", "args": [ { "int": "3" } ] } ], + [ { "prim": "IF_LEFT", "args": [ [ { "prim": "UPDATE", "args": [ { "int": "4" } ] } ], [ { "prim": "DROP" } ] ] } ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "IF_LEFT", "args": [ [ { "prim": "DROP" } ], [ { "prim": "DROP" } ] ] } ], + [ { "prim": "IF_LEFT", "args": [ [ { "prim": "DROP" } ], [ { "prim": "DROP" } ] ] } ] + ] + } + ] + ] + } + ] + ] + } + ] + ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] } + ] + ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "SWAP" }, + { "prim": "ITER", "args": [ [ { "prim": "CONS" } ] ] }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" } + ] + ] + } +] \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_007_cont_1_contract.py b/TezFinTest/CToken_Tests/step_007_cont_1_contract.py new file mode 100644 index 00000000..016953d7 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_007_cont_1_contract.py @@ -0,0 +1,127 @@ +import smartpy as sp + +class Contract(sp.Contract): + def __init__(self): + self.init_type(sp.TRecord(borrow_allowed = sp.TBool, mint_allowed = sp.TBool, redeem_allowed = sp.TBool, repay_borrow_allowed = sp.TBool).layout((("borrow_allowed", "mint_allowed"), ("redeem_allowed", "repay_borrow_allowed")))) + self.init(borrow_allowed = True, + mint_allowed = True, + redeem_allowed = True, + repay_borrow_allowed = True) + + @sp.entrypoint + def acceptGovernance(self, params): + sp.set_type(params, sp.TAddress) + + @sp.entrypoint + def borrowAllowed(self, params): + sp.set_type(params, sp.TRecord(borrowAmount = sp.TNat, borrower = sp.TAddress, cToken = sp.TAddress).layout(("cToken", ("borrower", "borrowAmount")))) + sp.verify(self.data.borrow_allowed) + + @sp.entrypoint + def disableMarket(self, params): + sp.set_type(params, sp.TUnit) + + @sp.entrypoint + def enterMarkets(self, params): + sp.set_type(params, sp.TUnit) + + @sp.entrypoint + def exitMarket(self, params): + sp.set_type(params, sp.TUnit) + + @sp.entrypoint + def getHypoAccountLiquidity(self, params): + sp.set_type(params, sp.TUnit) + + @sp.entrypoint + def mintAllowed(self, params): + sp.set_type(params, sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount")))) + sp.verify(self.data.mint_allowed) + + @sp.entrypoint + def redeemAllowed(self, params): + sp.set_type(params, sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount")))) + sp.verify(self.data.redeem_allowed) + + @sp.entrypoint + def removeFromLoans(self, params): + sp.set_type(params, sp.TAddress) + + @sp.entrypoint + def repayBorrowAllowed(self, params): + sp.set_type(params, sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount"))))) + sp.verify(self.data.repay_borrow_allowed) + + @sp.entrypoint + def setBorrowAllowed(self, params): + self.data.borrow_allowed = params + + @sp.entrypoint + def setBorrowPaused(self, params): + sp.set_type(params, sp.TUnit) + + @sp.entrypoint + def setCloseFactor(self, params): + sp.set_type(params, sp.TUnit) + + @sp.entrypoint + def setCollateralFactor(self, params): + sp.set_type(params, sp.TUnit) + + @sp.entrypoint + def setLiquidationIncentive(self, params): + sp.set_type(params, sp.TUnit) + + @sp.entrypoint + def setLiquidityPeriodRelevance(self, params): + sp.set_type(params, sp.TNat) + + @sp.entrypoint + def setMintAllowed(self, params): + self.data.mint_allowed = params + + @sp.entrypoint + def setMintPaused(self, params): + sp.set_type(params, sp.TUnit) + + @sp.entrypoint + def setPendingGovernance(self, params): + sp.set_type(params, sp.TAddress) + + @sp.entrypoint + def setPriceOracleAndTimeDiff(self, params): + sp.set_type(params, sp.TUnit) + + @sp.entrypoint + def setPricePeriodRelevance(self, params): + sp.set_type(params, sp.TNat) + + @sp.entrypoint + def setRedeemAllowed(self, params): + self.data.redeem_allowed = params + + @sp.entrypoint + def setRepayBorrowAllowed(self, params): + self.data.repay_borrow_allowed = params + + @sp.entrypoint + def setTransferPaused(self, params): + sp.set_type(params, sp.TUnit) + + @sp.entrypoint + def supportMarket(self, params): + sp.set_type(params, sp.TUnit) + + @sp.entrypoint + def transferAllowed(self, params): + sp.set_type(params, sp.TRecord(cToken = sp.TAddress, dst = sp.TAddress, src = sp.TAddress, transferTokens = sp.TNat).layout((("cToken", "src"), ("dst", "transferTokens")))) + + @sp.entrypoint + def updateAccountLiquidity(self, params): + sp.set_type(params, sp.TAddress) + + @sp.entrypoint + def updateAssetPrice(self, params): + sp.set_type(params, sp.TAddress) + +sp.add_compilation_target("test", Contract()) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_007_cont_1_contract.py.html b/TezFinTest/CToken_Tests/step_007_cont_1_contract.py.html new file mode 100644 index 00000000..71c7d74d --- /dev/null +++ b/TezFinTest/CToken_Tests/step_007_cont_1_contract.py.html @@ -0,0 +1,2006 @@ +

    Balance: 0.000000tz

    +

    Storage:

    +
    + + +
    Borrow_allowedMint_allowedRedeem_allowedRepay_borrow_allowed
    TrueTrueTrueTrue
    +

    Code:

    +import smartpy as sp +
    +
    class Contract(sp.Contract): +
    def __init__(self):
      self.init_type(sp.TRecord(borrow_allowed = sp.TBool, mint_allowed = sp.TBool, redeem_allowed = sp.TBool, repay_borrow_allowed = sp.TBool).layout((("borrow_allowed", "mint_allowed"), ("redeem_allowed", "repay_borrow_allowed"))))
    +
      self.init(borrow_allowed = True,
                mint_allowed = True,
                redeem_allowed = True,
                repay_borrow_allowed = True)

    +
    + @sp.entrypoint +
    def acceptGovernance(self, params):
      sp.set_type(params, sp.TAddress)
    +
    + @sp.entrypoint +
    def borrowAllowed(self, params):
      sp.set_type(params, sp.TRecord(borrowAmount = sp.TNat, borrower = sp.TAddress, cToken = sp.TAddress).layout(("cToken", ("borrower", "borrowAmount")))) +
      sp.verify(self.data.borrow_allowed)
    +
    + @sp.entrypoint +
    def disableMarket(self, params):
      sp.set_type(params, sp.TUnit)
    +
    + @sp.entrypoint +
    def enterMarkets(self, params):
      sp.set_type(params, sp.TUnit)
    +
    + @sp.entrypoint +
    def exitMarket(self, params):
      sp.set_type(params, sp.TUnit)
    +
    + @sp.entrypoint +
    def getHypoAccountLiquidity(self, params):
      sp.set_type(params, sp.TUnit)
    +
    + @sp.entrypoint +
    def mintAllowed(self, params):
      sp.set_type(params, sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount")))) +
      sp.verify(self.data.mint_allowed)
    +
    + @sp.entrypoint +
    def redeemAllowed(self, params):
      sp.set_type(params, sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount")))) +
      sp.verify(self.data.redeem_allowed)
    +
    + @sp.entrypoint +
    def removeFromLoans(self, params):
      sp.set_type(params, sp.TAddress)
    +
    + @sp.entrypoint +
    def repayBorrowAllowed(self, params):
      sp.set_type(params, sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount"))))) +
      sp.verify(self.data.repay_borrow_allowed)
    +
    + @sp.entrypoint +
    def setBorrowAllowed(self, params):
      self.data.borrow_allowed = params
    +
    + @sp.entrypoint +
    def setBorrowPaused(self, params):
      sp.set_type(params, sp.TUnit)
    +
    + @sp.entrypoint +
    def setCloseFactor(self, params):
      sp.set_type(params, sp.TUnit)
    +
    + @sp.entrypoint +
    def setCollateralFactor(self, params):
      sp.set_type(params, sp.TUnit)
    +
    + @sp.entrypoint +
    def setLiquidationIncentive(self, params):
      sp.set_type(params, sp.TUnit)
    +
    + @sp.entrypoint +
    def setLiquidityPeriodRelevance(self, params):
      sp.set_type(params, sp.TNat)
    +
    + @sp.entrypoint +
    def setMintAllowed(self, params):
      self.data.mint_allowed = params
    +
    + @sp.entrypoint +
    def setMintPaused(self, params):
      sp.set_type(params, sp.TUnit)
    +
    + @sp.entrypoint +
    def setPendingGovernance(self, params):
      sp.set_type(params, sp.TAddress)
    +
    + @sp.entrypoint +
    def setPriceOracleAndTimeDiff(self, params):
      sp.set_type(params, sp.TUnit)
    +
    + @sp.entrypoint +
    def setPricePeriodRelevance(self, params):
      sp.set_type(params, sp.TNat)
    +
    + @sp.entrypoint +
    def setRedeemAllowed(self, params):
      self.data.redeem_allowed = params
    +
    + @sp.entrypoint +
    def setRepayBorrowAllowed(self, params):
      self.data.repay_borrow_allowed = params
    +
    + @sp.entrypoint +
    def setTransferPaused(self, params):
      sp.set_type(params, sp.TUnit)
    +
    + @sp.entrypoint +
    def supportMarket(self, params):
      sp.set_type(params, sp.TUnit)
    +
    + @sp.entrypoint +
    def transferAllowed(self, params):
      sp.set_type(params, sp.TRecord(cToken = sp.TAddress, dst = sp.TAddress, src = sp.TAddress, transferTokens = sp.TNat).layout((("cToken", "src"), ("dst", "transferTokens"))))
    +
    + @sp.entrypoint +
    def updateAccountLiquidity(self, params):
      sp.set_type(params, sp.TAddress)
    +
    + @sp.entrypoint +
    def updateAssetPrice(self, params):
      sp.set_type(params, sp.TAddress)
    +
    +
    sp.add_compilation_target("test", Contract())
    \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_007_cont_1_contract.tz b/TezFinTest/CToken_Tests/step_007_cont_1_contract.tz new file mode 100644 index 00000000..08e452fc --- /dev/null +++ b/TezFinTest/CToken_Tests/step_007_cont_1_contract.tz @@ -0,0 +1,276 @@ +parameter (or (address %removeFromLoans) (or (or (or (or (address %acceptGovernance) (or (pair %borrowAllowed (address %cToken) (pair (address %borrower) (nat %borrowAmount))) (unit %disableMarket))) (or (unit %enterMarkets) (or (unit %exitMarket) (unit %getHypoAccountLiquidity)))) (or (or (pair %mintAllowed (address %cToken) (pair (address %minter) (nat %mintAmount))) (or (pair %redeemAllowed (address %cToken) (pair (address %redeemer) (nat %redeemAmount))) (pair %repayBorrowAllowed (address %cToken) (pair (address %payer) (pair (address %borrower) (nat %repayAmount)))))) (or (or (bool %setBorrowAllowed) (unit %setBorrowPaused)) (or (unit %setCloseFactor) (unit %setCollateralFactor))))) (or (or (or (unit %setLiquidationIncentive) (or (nat %setLiquidityPeriodRelevance) (bool %setMintAllowed))) (or (or (unit %setMintPaused) (address %setPendingGovernance)) (or (unit %setPriceOracleAndTimeDiff) (nat %setPricePeriodRelevance)))) (or (or (bool %setRedeemAllowed) (or (bool %setRepayBorrowAllowed) (unit %setTransferPaused))) (or (or (unit %supportMarket) (pair %transferAllowed (pair (address %cToken) (address %src)) (pair (address %dst) (nat %transferTokens)))) (or (address %updateAccountLiquidity) (address %updateAssetPrice))))))); +storage (pair (pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed))) (big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))))); +code + { + UNPAIR 3; # @parameter : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + IF_LEFT + { + # == removeFromLoans == # @parameter%removeFromLoans : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + PUSH nat 0; # nat : @parameter%removeFromLoans : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + DUP 4; # big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) : nat : @parameter%removeFromLoans : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + SWAP; # nat : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) : @parameter%removeFromLoans : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + GET; # option (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) : @parameter%removeFromLoans : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + IF_NONE + { + PUSH int -1; # int : @parameter%removeFromLoans : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + FAILWITH; # FAILED + } + { + # missing entrypoint # @some : @parameter%removeFromLoans : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # @some : @parameter%removeFromLoans : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + DUG 2; # @parameter%removeFromLoans : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : @some : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + PAIR; # pair @parameter%removeFromLoans (pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed))) : @some : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + EXEC; # pair (list operation) (pair (pair bool bool) (pair bool bool)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + UNPAIR; # list operation : pair (pair bool bool) (pair bool bool) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + IF_LEFT + { + IF_LEFT + { + IF_LEFT + { + IF_LEFT + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == acceptGovernance == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + IF_LEFT + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == borrowAllowed == + # sp.verify(self.data.borrow_allowed) # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + DUP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + CAR; # pair (bool %borrow_allowed) (bool %mint_allowed) : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + CAR; # bool : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + IF + {} + { + PUSH string "WrongCondition: self.data.borrow_allowed"; # string : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + FAILWITH; # FAILED + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == disableMarket == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + IF_LEFT + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == enterMarkets == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + IF_LEFT + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == exitMarket == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == getHypoAccountLiquidity == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + IF_LEFT + { + IF_LEFT + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == mintAllowed == + # sp.verify(self.data.mint_allowed) # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + DUP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + CAR; # pair (bool %borrow_allowed) (bool %mint_allowed) : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + CDR; # bool : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + IF + {} + { + PUSH string "WrongCondition: self.data.mint_allowed"; # string : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + FAILWITH; # FAILED + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + IF_LEFT + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == redeemAllowed == + # sp.verify(self.data.redeem_allowed) # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + DUP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + GET 3; # bool : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + IF + {} + { + PUSH string "WrongCondition: self.data.redeem_allowed"; # string : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + FAILWITH; # FAILED + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == repayBorrowAllowed == + # sp.verify(self.data.repay_borrow_allowed) # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + DUP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + GET 4; # bool : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + IF + {} + { + PUSH string "WrongCondition: self.data.repay_borrow_allowed"; # string : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + FAILWITH; # FAILED + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + IF_LEFT + { + IF_LEFT + { + SWAP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : @parameter%setBorrowAllowed : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == setBorrowAllowed == + # self.data.borrow_allowed = params # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : @parameter%setBorrowAllowed : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + UNPAIR; # pair (bool %borrow_allowed) (bool %mint_allowed) : pair (bool %redeem_allowed) (bool %repay_borrow_allowed) : @parameter%setBorrowAllowed : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + CDR; # bool : pair (bool %redeem_allowed) (bool %repay_borrow_allowed) : @parameter%setBorrowAllowed : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + DIG 2; # @parameter%setBorrowAllowed : bool : pair (bool %redeem_allowed) (bool %repay_borrow_allowed) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + PAIR; # pair @parameter%setBorrowAllowed bool : pair (bool %redeem_allowed) (bool %repay_borrow_allowed) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + PAIR; # pair (pair @parameter%setBorrowAllowed bool) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == setBorrowPaused == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair bool bool) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + IF_LEFT + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == setCloseFactor == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == setCollateralFactor == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair bool bool) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair bool bool) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair bool bool) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + IF_LEFT + { + IF_LEFT + { + IF_LEFT + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == setLiquidationIncentive == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + IF_LEFT + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == setLiquidityPeriodRelevance == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + SWAP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : @parameter%setMintAllowed : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == setMintAllowed == + # self.data.mint_allowed = params # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : @parameter%setMintAllowed : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + UNPAIR; # pair (bool %borrow_allowed) (bool %mint_allowed) : pair (bool %redeem_allowed) (bool %repay_borrow_allowed) : @parameter%setMintAllowed : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + CAR; # bool : pair (bool %redeem_allowed) (bool %repay_borrow_allowed) : @parameter%setMintAllowed : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + DIG 2; # @parameter%setMintAllowed : bool : pair (bool %redeem_allowed) (bool %repay_borrow_allowed) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + SWAP; # bool : @parameter%setMintAllowed : pair (bool %redeem_allowed) (bool %repay_borrow_allowed) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + PAIR; # pair bool @parameter%setMintAllowed : pair (bool %redeem_allowed) (bool %repay_borrow_allowed) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + PAIR; # pair (pair bool @parameter%setMintAllowed) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair bool bool) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair bool bool) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + IF_LEFT + { + IF_LEFT + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == setMintPaused == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == setPendingGovernance == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + IF_LEFT + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == setPriceOracleAndTimeDiff == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == setPricePeriodRelevance == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair bool bool) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + IF_LEFT + { + IF_LEFT + { + # == setRedeemAllowed == + # self.data.redeem_allowed = params # @parameter%setRedeemAllowed : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + UPDATE 3; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + IF_LEFT + { + # == setRepayBorrowAllowed == + # self.data.repay_borrow_allowed = params # @parameter%setRepayBorrowAllowed : pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + UPDATE 4; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == setTransferPaused == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + IF_LEFT + { + IF_LEFT + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == supportMarket == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == transferAllowed == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + IF_LEFT + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == updateAccountLiquidity == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + } + { + DROP; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + # == updateAssetPrice == # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair (bool %borrow_allowed) (bool %mint_allowed)) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair bool bool) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # pair (pair bool bool) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + NIL operation; # list operation : pair (pair bool bool) (pair (bool %redeem_allowed) (bool %repay_borrow_allowed)) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # list operation : pair (pair bool bool) (pair bool bool) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + NIL operation; # list operation : list operation : pair (pair bool bool) (pair bool bool) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + SWAP; # list operation : list operation : pair (pair bool bool) (pair bool bool) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + ITER + { + CONS; # list operation : pair (pair bool bool) (pair bool bool) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + }; # list operation : pair (pair bool bool) (pair bool bool) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) + DUG 2; # pair (pair bool bool) (pair bool bool) : big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))) : list operation + PAIR; # pair (pair (pair bool bool) (pair bool bool)) (big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool))))) : list operation + SWAP; # list operation : pair (pair (pair bool bool) (pair bool bool)) (big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool))))) + PAIR; # pair (list operation) (pair (pair (pair bool bool) (pair bool bool)) (big_map nat (lambda (pair address (pair (pair bool bool) (pair bool bool))) (pair (list operation) (pair (pair bool bool) (pair bool bool)))))) + }; \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_007_cont_1_sizes.csv b/TezFinTest/CToken_Tests/step_007_cont_1_sizes.csv new file mode 100644 index 00000000..a2372f0c --- /dev/null +++ b/TezFinTest/CToken_Tests/step_007_cont_1_sizes.csv @@ -0,0 +1,2 @@ +storage,38 +contract,1907 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_007_cont_1_storage.json b/TezFinTest/CToken_Tests/step_007_cont_1_storage.json new file mode 100644 index 00000000..03f0d9a7 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_007_cont_1_storage.json @@ -0,0 +1,7 @@ +{ + "prim": "Pair", + "args": [ + { "prim": "Pair", "args": [ { "prim": "Pair", "args": [ { "prim": "True" }, { "prim": "True" } ] }, { "prim": "Pair", "args": [ { "prim": "True" }, { "prim": "True" } ] } ] }, + [ { "prim": "Elt", "args": [ { "int": "0" }, [ { "prim": "CDR" }, { "prim": "NIL", "args": [ { "prim": "operation" } ] }, { "prim": "PAIR" } ] ] } ] + ] +} \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_007_cont_1_storage.py b/TezFinTest/CToken_Tests/step_007_cont_1_storage.py new file mode 100644 index 00000000..8dae174e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_007_cont_1_storage.py @@ -0,0 +1 @@ +sp.record(borrow_allowed = True, mint_allowed = True, redeem_allowed = True, repay_borrow_allowed = True) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_007_cont_1_storage.tz b/TezFinTest/CToken_Tests/step_007_cont_1_storage.tz new file mode 100644 index 00000000..5cad3798 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_007_cont_1_storage.tz @@ -0,0 +1 @@ +(Pair (Pair (Pair True True) (Pair True True)) {Elt 0 { CDR; NIL operation; PAIR }}) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_007_cont_1_types.py b/TezFinTest/CToken_Tests/step_007_cont_1_types.py new file mode 100644 index 00000000..977a2270 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_007_cont_1_types.py @@ -0,0 +1,6 @@ +import smartpy as sp + +tstorage = sp.TRecord(borrow_allowed = sp.TBool, mint_allowed = sp.TBool, redeem_allowed = sp.TBool, repay_borrow_allowed = sp.TBool).layout((("borrow_allowed", "mint_allowed"), ("redeem_allowed", "repay_borrow_allowed"))) +tparameter = sp.TVariant(acceptGovernance = sp.TAddress, borrowAllowed = sp.TRecord(borrowAmount = sp.TNat, borrower = sp.TAddress, cToken = sp.TAddress).layout(("cToken", ("borrower", "borrowAmount"))), disableMarket = sp.TUnit, enterMarkets = sp.TUnit, exitMarket = sp.TUnit, getHypoAccountLiquidity = sp.TUnit, mintAllowed = sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount"))), redeemAllowed = sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), removeFromLoans = sp.TAddress, repayBorrowAllowed = sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), setBorrowAllowed = sp.TBool, setBorrowPaused = sp.TUnit, setCloseFactor = sp.TUnit, setCollateralFactor = sp.TUnit, setLiquidationIncentive = sp.TUnit, setLiquidityPeriodRelevance = sp.TNat, setMintAllowed = sp.TBool, setMintPaused = sp.TUnit, setPendingGovernance = sp.TAddress, setPriceOracleAndTimeDiff = sp.TUnit, setPricePeriodRelevance = sp.TNat, setRedeemAllowed = sp.TBool, setRepayBorrowAllowed = sp.TBool, setTransferPaused = sp.TUnit, supportMarket = sp.TUnit, transferAllowed = sp.TRecord(cToken = sp.TAddress, dst = sp.TAddress, src = sp.TAddress, transferTokens = sp.TNat).layout((("cToken", "src"), ("dst", "transferTokens"))), updateAccountLiquidity = sp.TAddress, updateAssetPrice = sp.TAddress).layout((((("acceptGovernance", ("borrowAllowed", "disableMarket")), (("enterMarkets", "exitMarket"), ("getHypoAccountLiquidity", "mintAllowed"))), (("redeemAllowed", ("removeFromLoans", "repayBorrowAllowed")), (("setBorrowAllowed", "setBorrowPaused"), ("setCloseFactor", "setCollateralFactor")))), ((("setLiquidationIncentive", ("setLiquidityPeriodRelevance", "setMintAllowed")), (("setMintPaused", "setPendingGovernance"), ("setPriceOracleAndTimeDiff", "setPricePeriodRelevance"))), (("setRedeemAllowed", ("setRepayBorrowAllowed", "setTransferPaused")), (("supportMarket", "transferAllowed"), ("updateAccountLiquidity", "updateAssetPrice")))))) +tprivates = { } +tviews = { } diff --git a/TezFinTest/CToken_Tests/step_008_cont_2_contract.json b/TezFinTest/CToken_Tests/step_008_cont_2_contract.json new file mode 100644 index 00000000..e3d1a32c --- /dev/null +++ b/TezFinTest/CToken_Tests/step_008_cont_2_contract.json @@ -0,0 +1,80 @@ +[ + { "prim": "storage", "args": [ { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%borrowRate" ] }, { "prim": "nat", "annots": [ "%supplyRate" ] } ] } ] }, + { + "prim": "parameter", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%borrows" ] }, { "prim": "nat", "annots": [ "%cash" ] } ] }, + { "prim": "pair", "args": [ { "prim": "contract", "args": [ { "prim": "nat" } ], "annots": [ "%cb" ] }, { "prim": "nat", "annots": [ "%reserves" ] } ] } + ], + "annots": [ "%getBorrowRate" ] + }, + { + "prim": "pair", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%borrows" ] }, { "prim": "nat", "annots": [ "%cash" ] } ] }, + { "prim": "pair", "args": [ { "prim": "contract", "args": [ { "prim": "nat" } ], "annots": [ "%cb" ] }, { "prim": "nat", "annots": [ "%reserves" ] } ] } + ], + "annots": [ "%getSupplyRate" ] + } + ] + }, + { "prim": "or", "args": [ { "prim": "nat", "annots": [ "%setBorrowRate" ] }, { "prim": "nat", "annots": [ "%setSupplyRate" ] } ] } + ] + } + ] + }, + { + "prim": "code", + "args": [ + [ + { "prim": "UNPAIR" }, + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "SWAP" }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ], + [ + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "SWAP" }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CDR" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ] + ] + } + ], + [ + { "prim": "IF_LEFT", "args": [ [ { "prim": "UPDATE", "args": [ { "int": "1" } ] } ], [ { "prim": "UPDATE", "args": [ { "int": "2" } ] } ] ] }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] } + ] + ] + }, + { "prim": "PAIR" } + ] + ] + } +] \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_008_cont_2_contract.py b/TezFinTest/CToken_Tests/step_008_cont_2_contract.py new file mode 100644 index 00000000..b00b33f2 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_008_cont_2_contract.py @@ -0,0 +1,29 @@ +import smartpy as sp + +class Contract(sp.Contract): + def __init__(self): + self.init_type(sp.TRecord(borrowRate = sp.TNat, supplyRate = sp.TNat).layout(("borrowRate", "supplyRate"))) + self.init(borrowRate = 80000000000, + supplyRate = 180000000000) + + @sp.entrypoint + def getBorrowRate(self, params): + sp.set_type(params, sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves")))) + sp.transfer(self.data.borrowRate, sp.tez(0), params.cb) + + @sp.entrypoint + def getSupplyRate(self, params): + sp.set_type(params, sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves")))) + sp.transfer(self.data.supplyRate, sp.tez(0), params.cb) + + @sp.entrypoint + def setBorrowRate(self, params): + sp.set_type(params, sp.TNat) + self.data.borrowRate = params + + @sp.entrypoint + def setSupplyRate(self, params): + sp.set_type(params, sp.TNat) + self.data.supplyRate = params + +sp.add_compilation_target("test", Contract()) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_008_cont_2_contract.py.html b/TezFinTest/CToken_Tests/step_008_cont_2_contract.py.html new file mode 100644 index 00000000..09566785 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_008_cont_2_contract.py.html @@ -0,0 +1,1932 @@ +

    Balance: 0.000000tz

    +

    Storage:

    +
    +
    BorrowRateSupplyRate
    +

    Code:

    +import smartpy as sp +
    +
    class Contract(sp.Contract): +
    def __init__(self):
      self.init_type(sp.TRecord(borrowRate = sp.TNat, supplyRate = sp.TNat).layout(("borrowRate", "supplyRate")))
    +
      self.init(borrowRate = 80000000000,
                supplyRate = 180000000000)

    +
    + @sp.entrypoint +
    def getBorrowRate(self, params):
      sp.set_type(params, sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves")))) +
      sp.transfer(self.data.borrowRate, sp.tez(0), params.cb)
    +
    + @sp.entrypoint +
    def getSupplyRate(self, params):
      sp.set_type(params, sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves")))) +
      sp.transfer(self.data.supplyRate, sp.tez(0), params.cb)
    +
    + @sp.entrypoint +
    def setBorrowRate(self, params):
      sp.set_type(params, sp.TNat) +
      self.data.borrowRate = params
    +
    + @sp.entrypoint +
    def setSupplyRate(self, params):
      sp.set_type(params, sp.TNat) +
      self.data.supplyRate = params
    +
    +
    sp.add_compilation_target("test", Contract())
    \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_008_cont_2_contract.tz b/TezFinTest/CToken_Tests/step_008_cont_2_contract.tz new file mode 100644 index 00000000..ebc746e9 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_008_cont_2_contract.tz @@ -0,0 +1,49 @@ +parameter (or (or (pair %getBorrowRate (pair (nat %borrows) (nat %cash)) (pair (contract %cb nat) (nat %reserves))) (pair %getSupplyRate (pair (nat %borrows) (nat %cash)) (pair (contract %cb nat) (nat %reserves)))) (or (nat %setBorrowRate) (nat %setSupplyRate))); +storage (pair (nat %borrowRate) (nat %supplyRate)); +code + { + UNPAIR; # @parameter : @storage + IF_LEFT + { + IF_LEFT + { + # == getBorrowRate == + # sp.transfer(self.data.borrowRate, sp.tez(0), params.cb) # @parameter%getBorrowRate : @storage + GET 3; # contract nat : @storage + NIL operation; # list operation : contract nat : @storage + SWAP; # contract nat : list operation : @storage + PUSH mutez 0; # mutez : contract nat : list operation : @storage + DUP 4; # @storage : mutez : contract nat : list operation : @storage + CAR; # nat : mutez : contract nat : list operation : @storage + TRANSFER_TOKENS; # operation : list operation : @storage + CONS; # list operation : @storage + } + { + # == getSupplyRate == + # sp.transfer(self.data.supplyRate, sp.tez(0), params.cb) # @parameter%getSupplyRate : @storage + GET 3; # contract nat : @storage + NIL operation; # list operation : contract nat : @storage + SWAP; # contract nat : list operation : @storage + PUSH mutez 0; # mutez : contract nat : list operation : @storage + DUP 4; # @storage : mutez : contract nat : list operation : @storage + CDR; # nat : mutez : contract nat : list operation : @storage + TRANSFER_TOKENS; # operation : list operation : @storage + CONS; # list operation : @storage + }; # list operation : @storage + } + { + IF_LEFT + { + # == setBorrowRate == + # self.data.borrowRate = params # @parameter%setBorrowRate : @storage + UPDATE 1; # @storage + } + { + # == setSupplyRate == + # self.data.supplyRate = params # @parameter%setSupplyRate : @storage + UPDATE 2; # @storage + }; # @storage + NIL operation; # list operation : @storage + }; # list operation : @storage + PAIR; # pair (list operation) @storage + }; \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_008_cont_2_sizes.csv b/TezFinTest/CToken_Tests/step_008_cont_2_sizes.csv new file mode 100644 index 00000000..33dba28a --- /dev/null +++ b/TezFinTest/CToken_Tests/step_008_cont_2_sizes.csv @@ -0,0 +1,2 @@ +storage,16 +contract,352 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_008_cont_2_storage.json b/TezFinTest/CToken_Tests/step_008_cont_2_storage.json new file mode 100644 index 00000000..c7e31b0a --- /dev/null +++ b/TezFinTest/CToken_Tests/step_008_cont_2_storage.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "80000000000" }, { "int": "180000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_008_cont_2_storage.py b/TezFinTest/CToken_Tests/step_008_cont_2_storage.py new file mode 100644 index 00000000..d15d4972 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_008_cont_2_storage.py @@ -0,0 +1 @@ +sp.record(borrowRate = 80000000000, supplyRate = 180000000000) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_008_cont_2_storage.tz b/TezFinTest/CToken_Tests/step_008_cont_2_storage.tz new file mode 100644 index 00000000..ac63a374 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_008_cont_2_storage.tz @@ -0,0 +1 @@ +(Pair 80000000000 180000000000) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_008_cont_2_types.py b/TezFinTest/CToken_Tests/step_008_cont_2_types.py new file mode 100644 index 00000000..0ee846ba --- /dev/null +++ b/TezFinTest/CToken_Tests/step_008_cont_2_types.py @@ -0,0 +1,6 @@ +import smartpy as sp + +tstorage = sp.TRecord(borrowRate = sp.TNat, supplyRate = sp.TNat).layout(("borrowRate", "supplyRate")) +tparameter = sp.TVariant(getBorrowRate = sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), getSupplyRate = sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), setBorrowRate = sp.TNat, setSupplyRate = sp.TNat).layout((("getBorrowRate", "getSupplyRate"), ("setBorrowRate", "setSupplyRate"))) +tprivates = { } +tviews = { } diff --git a/TezFinTest/CToken_Tests/step_009_cont_3_contract.json b/TezFinTest/CToken_Tests/step_009_cont_3_contract.json new file mode 100644 index 00000000..b7ad3bc6 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_009_cont_3_contract.json @@ -0,0 +1,5459 @@ +[ + { + "prim": "storage", + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "nat", "annots": [ "%accBorrowBalance" ] }, + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%accCTokenBalance" ] }, { "prim": "nat", "annots": [ "%accExchangeRateMantissa" ] } ] } + ] + }, + { + "prim": "pair", + "args": [ + { "prim": "nat", "annots": [ "%accrualBlockNumber" ] }, + { + "prim": "pair", + "args": [ { "prim": "set", "args": [ { "prim": "nat" } ], "annots": [ "%activeOperations" ] }, { "prim": "address", "annots": [ "%administrator" ] } ] + } + ] + } + ] + }, + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "nat", "annots": [ "%borrowIndex" ] }, + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%borrowRateMaxMantissa" ] }, { "prim": "nat", "annots": [ "%borrowRatePerBlock" ] } ] } + ] + }, + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "big_map", + "args": [ + { "prim": "address" }, + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%interestIndex" ] }, { "prim": "nat", "annots": [ "%principal" ] } ] } + ], + "annots": [ "%borrows" ] + }, + { "prim": "address", "annots": [ "%comptroller" ] } + ] + }, + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%expScale" ] }, { "prim": "nat", "annots": [ "%halfExpScale" ] } ] } + ] + } + ] + } + ] + }, + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "nat", "annots": [ "%initialExchangeRateMantissa" ] }, + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%interestRateModel" ] }, + { + "prim": "big_map", + "args": [ + { "prim": "address" }, + { + "prim": "pair", + "args": [ + { "prim": "map", "args": [ { "prim": "address" }, { "prim": "nat" } ], "annots": [ "%approvals" ] }, + { "prim": "nat", "annots": [ "%balance" ] } + ] + } + ], + "annots": [ "%ledger" ] + } + ] + } + ] + }, + { + "prim": "pair", + "args": [ + { "prim": "big_map", "args": [ { "prim": "string" }, { "prim": "bytes" } ], "annots": [ "%metadata" ] }, + { + "prim": "pair", + "args": [ + { "prim": "option", "args": [ { "prim": "address" } ], "annots": [ "%pendingAdministrator" ] }, + { "prim": "nat", "annots": [ "%protocolSeizeShareMantissa" ] } + ] + } + ] + } + ] + }, + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "nat", "annots": [ "%reserveFactorMantissa" ] }, + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%reserveFactorMaxMantissa" ] }, { "prim": "nat", "annots": [ "%supplyRatePerBlock" ] } ] } + ] + }, + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "big_map", + "args": [ + { "prim": "nat" }, + { + "prim": "pair", + "args": [ + { "prim": "nat", "annots": [ "%token_id" ] }, + { "prim": "map", "args": [ { "prim": "string" }, { "prim": "bytes" } ], "annots": [ "%token_info" ] } + ] + } + ], + "annots": [ "%token_metadata" ] + }, + { "prim": "nat", "annots": [ "%totalBorrows" ] } + ] + }, + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%totalReserves" ] }, { "prim": "nat", "annots": [ "%totalSupply" ] } ] } + ] + } + ] + } + ] + } + ] + }, + { + "prim": "big_map", + "args": [ + { "prim": "nat" }, + { + "prim": "lambda", + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { "prim": "unit" }, + { + "prim": "or", + "args": [ { "prim": "contract", "args": [ { "prim": "nat" } ] }, { "prim": "pair", "args": [ { "prim": "address" }, { "prim": "nat" } ] } ] + } + ] + }, + { "prim": "or", "args": [ { "prim": "nat" }, { "prim": "or", "args": [ { "prim": "unit" }, { "prim": "nat" } ] } ] } + ] + }, + { + "prim": "or", + "args": [ + { "prim": "or", "args": [ { "prim": "unit" }, { "prim": "or", "args": [ { "prim": "address" }, { "prim": "address" } ] } ] }, + { "prim": "or", "args": [ { "prim": "address" }, { "prim": "or", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } ] } + ] + } + ] + }, + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } ] }, + { + "prim": "pair", + "args": [ { "prim": "nat" }, { "prim": "pair", "args": [ { "prim": "set", "args": [ { "prim": "nat" } ] }, { "prim": "address" } ] } ] + } + ] + }, + { + "prim": "pair", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } ] }, + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "big_map", "args": [ { "prim": "address" }, { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } ] }, + { "prim": "address" } + ] + }, + { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } + ] + } + ] + } + ] + }, + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "nat" }, + { + "prim": "pair", + "args": [ + { "prim": "address" }, + { + "prim": "big_map", + "args": [ + { "prim": "address" }, + { "prim": "pair", "args": [ { "prim": "map", "args": [ { "prim": "address" }, { "prim": "nat" } ] }, { "prim": "nat" } ] } + ] + } + ] + } + ] + }, + { + "prim": "pair", + "args": [ + { "prim": "big_map", "args": [ { "prim": "string" }, { "prim": "bytes" } ] }, + { "prim": "pair", "args": [ { "prim": "option", "args": [ { "prim": "address" } ] }, { "prim": "nat" } ] } + ] + } + ] + }, + { + "prim": "pair", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } ] }, + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "big_map", + "args": [ + { "prim": "nat" }, + { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "map", "args": [ { "prim": "string" }, { "prim": "bytes" } ] } ] } + ] + }, + { "prim": "nat" } + ] + }, + { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "prim": "pair", + "args": [ + { "prim": "list", "args": [ { "prim": "operation" } ] }, + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } ] }, + { + "prim": "pair", + "args": [ { "prim": "nat" }, { "prim": "pair", "args": [ { "prim": "set", "args": [ { "prim": "nat" } ] }, { "prim": "address" } ] } ] + } + ] + }, + { + "prim": "pair", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } ] }, + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "big_map", "args": [ { "prim": "address" }, { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } ] }, + { "prim": "address" } + ] + }, + { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } + ] + } + ] + } + ] + }, + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "nat" }, + { + "prim": "pair", + "args": [ + { "prim": "address" }, + { + "prim": "big_map", + "args": [ + { "prim": "address" }, + { "prim": "pair", "args": [ { "prim": "map", "args": [ { "prim": "address" }, { "prim": "nat" } ] }, { "prim": "nat" } ] } + ] + } + ] + } + ] + }, + { + "prim": "pair", + "args": [ + { "prim": "big_map", "args": [ { "prim": "string" }, { "prim": "bytes" } ] }, + { "prim": "pair", "args": [ { "prim": "option", "args": [ { "prim": "address" } ] }, { "prim": "nat" } ] } + ] + } + ] + }, + { + "prim": "pair", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } ] }, + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "big_map", + "args": [ + { "prim": "nat" }, + { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "map", "args": [ { "prim": "string" }, { "prim": "bytes" } ] } ] } + ] + }, + { "prim": "nat" } + ] + }, + { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "prim": "parameter", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { "prim": "unit", "annots": [ "%acceptGovernance" ] }, + { + "prim": "or", + "args": [ + { "prim": "contract", "args": [ { "prim": "nat" } ], "annots": [ "%accrueInterestInternal" ] }, + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%spender" ] }, { "prim": "nat", "annots": [ "%value" ] } ], "annots": [ "%approve" ] } + ] + } + ] + }, + { + "prim": "or", + "args": [ + { "prim": "nat", "annots": [ "%doAccrueInterest" ] }, + { "prim": "or", "args": [ { "prim": "unit", "annots": [ "%hardResetOp" ] }, { "prim": "nat", "annots": [ "%reduceReservesInternal" ] } ] } + ] + } + ] + }, + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { "prim": "unit", "annots": [ "%removePendingGovernance" ] }, + { "prim": "or", "args": [ { "prim": "address", "annots": [ "%setComptroller" ] }, { "prim": "address", "annots": [ "%setInterestRateModelInternal" ] } ] } + ] + }, + { + "prim": "or", + "args": [ + { "prim": "address", "annots": [ "%setPendingGovernance" ] }, + { "prim": "or", "args": [ { "prim": "nat", "annots": [ "%setReserveFactorInternal" ] }, { "prim": "nat", "annots": [ "%updateProtocolSeizeShare" ] } ] } + ] + } + ] + } + ] + }, + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { "prim": "unit", "annots": [ "%accrueInterest" ] }, + { + "prim": "or", + "args": [ + { "prim": "nat", "annots": [ "%addReserves" ] }, + { + "prim": "pair", + "args": [ { "prim": "nat", "annots": [ "%addAmount" ] }, { "prim": "address", "annots": [ "%originalSender" ] } ], + "annots": [ "%addReservesInternal" ] + } + ] + } + ] + }, + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { "prim": "nat", "annots": [ "%borrow" ] }, + { "prim": "pair", "args": [ { "prim": "address" }, { "prim": "contract", "args": [ { "prim": "nat" } ] } ], "annots": [ "%borrowBalanceStored" ] } + ] + }, + { + "prim": "or", + "args": [ + { "prim": "pair", "args": [ { "prim": "unit" }, { "prim": "contract", "args": [ { "prim": "nat" } ] } ], "annots": [ "%exchangeRateStored" ] }, + { + "prim": "pair", + "args": [ + { "prim": "address" }, + { + "prim": "contract", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%account" ] }, { "prim": "nat", "annots": [ "%borrowBalance" ] } ] }, + { + "prim": "pair", + "args": [ { "prim": "nat", "annots": [ "%cTokenBalance" ] }, { "prim": "nat", "annots": [ "%exchangeRateMantissa" ] } ] + } + ] + } + ] + } + ], + "annots": [ "%getAccountSnapshot" ] + } + ] + } + ] + } + ] + }, + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%owner" ] }, { "prim": "address", "annots": [ "%spender" ] } ] }, + { "prim": "contract", "args": [ { "prim": "nat" } ] } + ], + "annots": [ "%getAllowance" ] + }, + { "prim": "pair", "args": [ { "prim": "address" }, { "prim": "contract", "args": [ { "prim": "nat" } ] } ], "annots": [ "%getBalance" ] } + ] + }, + { + "prim": "or", + "args": [ + { "prim": "pair", "args": [ { "prim": "address" }, { "prim": "contract", "args": [ { "prim": "nat" } ] } ], "annots": [ "%getBalanceOfUnderlying" ] }, + { "prim": "pair", "args": [ { "prim": "unit" }, { "prim": "contract", "args": [ { "prim": "nat" } ] } ], "annots": [ "%getCash" ] } + ] + } + ] + }, + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { "prim": "pair", "args": [ { "prim": "unit" }, { "prim": "contract", "args": [ { "prim": "nat" } ] } ], "annots": [ "%getTotalSupply" ] }, + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%borrower" ] }, + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%cTokenCollateral" ] }, { "prim": "nat", "annots": [ "%repayAmount" ] } ] } + ], + "annots": [ "%liquidateBorrow" ] + } + ] + }, + { "prim": "or", "args": [ { "prim": "nat", "annots": [ "%mint" ] }, { "prim": "nat", "annots": [ "%redeem" ] } ] } + ] + } + ] + } + ] + }, + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { "prim": "nat", "annots": [ "%redeemUnderlying" ] }, + { "prim": "or", "args": [ { "prim": "nat", "annots": [ "%reduceReserves" ] }, { "prim": "nat", "annots": [ "%repayBorrow" ] } ] } + ] + }, + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "pair", + "args": [ { "prim": "address", "annots": [ "%borrower" ] }, { "prim": "nat", "annots": [ "%repayAmount" ] } ], + "annots": [ "%repayBorrowBehalf" ] + }, + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%borrower" ] }, + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%liquidator" ] }, { "prim": "nat", "annots": [ "%seizeTokens" ] } ] } + ], + "annots": [ "%seize" ] + } + ] + }, + { + "prim": "or", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%account" ] }, { "prim": "nat", "annots": [ "%borrowBalance" ] } ] }, + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%cTokenBalance" ] }, { "prim": "nat", "annots": [ "%exchangeRateMantissa" ] } ] } + ], + "annots": [ "%setAccountSnapshot" ] + }, + { "prim": "nat", "annots": [ "%setActiveOp" ] } + ] + } + ] + } + ] + }, + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { "prim": "or", "args": [ { "prim": "address", "annots": [ "%setInterestRateModel" ] }, { "prim": "nat", "annots": [ "%setReserveFactor" ] } ] }, + { + "prim": "or", + "args": [ + { + "prim": "pair", + "args": [ { "prim": "nat", "annots": [ "%amount" ] }, { "prim": "address", "annots": [ "%tokenAddress" ] } ], + "annots": [ "%sweepFA12" ] + }, + { + "prim": "pair", + "args": [ + { "prim": "nat", "annots": [ "%amount" ] }, + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%id" ] }, { "prim": "address", "annots": [ "%tokenAddress" ] } ] } + ], + "annots": [ "%sweepFA2" ] + } + ] + } + ] + }, + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { "prim": "bool", "annots": [ "%sweepMutez" ] }, + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%from" ] }, + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%to" ] }, { "prim": "nat", "annots": [ "%value" ] } ] } + ], + "annots": [ "%transfer" ] + } + ] + }, + { + "prim": "or", + "args": [ + { "prim": "address", "annots": [ "%updateAccountSnapshot" ] }, + { + "prim": "pair", + "args": [ { "prim": "string", "annots": [ "%key" ] }, { "prim": "bytes", "annots": [ "%value" ] } ], + "annots": [ "%updateMetadata" ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "prim": "code", + "args": [ + [ + { "prim": "UNPAIR", "args": [ { "int": "3" } ] }, + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "DUP" }, + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "DROP" }, { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] } ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "DROP" }, { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1" } ] } ], + [ { "prim": "DROP" }, { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "2" } ] } ] + ] + } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "DROP" }, { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "3" } ] } ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "DROP" }, { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "4" } ] } ], + [ { "prim": "DROP" }, { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "5" } ] } ] + ] + } + ] + ] + } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "DROP" }, { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "6" } ] } ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "DROP" }, { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "7" } ] } ], + [ { "prim": "DROP" }, { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "8" } ] } ] + ] + } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "DROP" }, { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "9" } ] } ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "DROP" }, { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "10" } ] } ], + [ { "prim": "DROP" }, { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "11" } ] } ] + ] + } + ] + ] + } + ] + ] + } + ] + ] + }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "SWAP" }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "PAIR" }, + { "prim": "EXEC" }, + { "prim": "UNPAIR" } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "LEVEL" }, + { "prim": "COMPARE" }, + { "prim": "NEQ" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "CDR" }, + { "prim": "LEVEL" }, + { "prim": "DIG", "args": [ { "int": "5" } ] }, + { "prim": "DROP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] } + ], + [ + { "prim": "DROP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "PUSH", "args": [ { "prim": "bool" }, { "prim": "True" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "8" } ] }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "SELF_ADDRESS" }, + { + "prim": "CONTRACT", + "args": [ { "prim": "contract", "args": [ { "prim": "nat" } ] } ], + "annots": [ "%accrueInterestInternal" ] + }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "735" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "SELF", "annots": [ "%doAccrueInterest" ] }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ] + ] + } + ], + [ { "prim": "DROP" }, { "prim": "NIL", "args": [ { "prim": "operation" } ] } ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "SELF_ADDRESS" }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "NEQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTERNAL_CALL" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "SIZE" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "OP_IN_PROGRESS" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "PUSH", "args": [ { "prim": "bool" }, { "prim": "True" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "11" } ] }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "SELF", "annots": [ "%accrueInterest" ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "UNIT" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" }, + { "prim": "SELF", "annots": [ "%addReservesInternal" ] }, + { "prim": "AMOUNT" }, + { "prim": "SENDER" }, + { "prim": "DIG", "args": [ { "int": "4" } ] }, + { "prim": "PAIR" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ], + [ + { "prim": "SELF_ADDRESS" }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ + [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTERNAL_FUNCTION" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "11" } ] }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "OP_NOT_ACTIVE" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "PUSH", "args": [ { "prim": "bool" }, { "prim": "False" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "11" } ] }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "LEVEL" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTEREST_OLD" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "SWAP" }, + { "prim": "DUP" }, + { "prim": "GET", "args": [ { "int": "9" } ] }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "ADD" }, + { "prim": "UPDATE", "args": [ { "int": "9" } ] }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] } + ] + ] + } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "SELF_ADDRESS" }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "NEQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTERNAL_CALL" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "SENDER" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { + "prim": "PUSH", + "args": [ + { + "prim": "option", + "args": [ + { + "prim": "pair", + "args": [ { "prim": "map", "args": [ { "prim": "address" }, { "prim": "nat" } ] }, { "prim": "nat" } ] + } + ] + }, + { "prim": "Some", "args": [ { "prim": "Pair", "args": [ [], { "int": "0" } ] } ] } + ] + }, + { "prim": "SENDER" }, + { "prim": "UPDATE" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" } + ] + ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "SENDER" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { + "prim": "PUSH", + "args": [ + { "prim": "option", "args": [ { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } ] }, + { "prim": "Some", "args": [ { "prim": "Pair", "args": [ { "int": "0" }, { "int": "0" } ] } ] } + ] + }, + { "prim": "SENDER" }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" } + ] + ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CDR" }, + { + "prim": "CONTRACT", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%cToken" ] }, + { + "prim": "pair", + "args": [ { "prim": "address", "annots": [ "%borrower" ] }, { "prim": "nat", "annots": [ "%borrowAmount" ] } ] + } + ] + } + ], + "annots": [ "%borrowAllowed" ] + }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "217" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "SENDER" }, + { "prim": "SELF_ADDRESS" }, + { "prim": "PAIR", "args": [ { "int": "3" } ] }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1000000" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "19" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "COMPARE" }, + { "prim": "GE" }, + { + "prim": "IF", + "args": [ + [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INSUFFICIENT_CASH" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "LEVEL" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTEREST_OLD" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "SENDER" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "SENDER" }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "628" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "SWAP" }, + { "prim": "DROP" }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "631" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] + ] + } + ], + [ { "prim": "DROP" } ] + ] + } + ], + [] + ] + }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "DUP" }, + { "prim": "SENDER" }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "210" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DUP", "args": [ { "int": "11" } ] }, + { "prim": "DIG", "args": [ { "int": "9" } ] }, + { "prim": "ADD" }, + { "prim": "UPDATE", "args": [ { "int": "2" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "DUP" }, + { "prim": "SENDER" }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "211" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DIG", "args": [ { "int": "8" } ] }, + { "prim": "UPDATE", "args": [ { "int": "1" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "DIG", "args": [ { "int": "7" } ] }, + { "prim": "ADD" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" } + ], + [ + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "628" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "SWAP" }, + { "prim": "DROP" }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "631" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] + ] + } + ], + [ { "prim": "DROP" } ] + ] + } + ], + [] + ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DROP" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "DIVISION_BY_ZERO" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "9" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "CDR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1000000" } ] }, + { "prim": "DUP", "args": [ { "int": "8" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "19" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] + ] + }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "ADD" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "671" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "257" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] + ] + } + ], + [] + ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ], + [ + { + "prim": "PUSH", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] }, + { "prim": "Pair", "args": [ { "int": "0" }, { "int": "0" } ] } + ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "LEVEL" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ + [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTEREST_OLD" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "573" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "CDR" }, + { "prim": "UPDATE", "args": [ { "int": "3" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "628" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "SWAP" }, + { "prim": "DROP" }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "631" } ] }, { "prim": "FAILWITH" } ], + [ { "prim": "CAR" } ] + ] + } + ], + [ { "prim": "DROP" } ] + ] + } + ], + [] + ] + }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "6" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DROP", "args": [ { "int": "2" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "DIVISION_BY_ZERO" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "9" } ] }, + { "prim": "DUP", "args": [ { "int": "6" } ] }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "CDR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1000000" } ] }, + { "prim": "DUP", "args": [ { "int": "9" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "19" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] + ] + }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], + [] + ] + }, + { "prim": "ADD" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "671" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "257" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] + ] + } + ], + [ { "prim": "SWAP" }, { "prim": "DROP" } ] + ] + }, + { "prim": "UPDATE", "args": [ { "int": "4" } ] } + ], + [] + ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ] + ] + } + ] + ] + } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "549" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CDR" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DROP" }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "550" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CDR" }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "550" } ] }, { "prim": "FAILWITH" } ], [] ] + } + ], + [] + ] + } + ], + [] + ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ], + [ + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DROP" }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "489" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "CDR" } + ], + [] + ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DROP" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "DIVISION_BY_ZERO" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "9" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "CDR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1000000" } ] }, + { "prim": "DUP", "args": [ { "int": "8" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "19" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] + ] + }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "ADD" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "671" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "257" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] + ] + } + ], + [] + ] + }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "521" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "CDR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "61" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ], + [ + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1000000" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "19" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ] + ] + } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ], + [ + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CDR" }, + { + "prim": "CONTRACT", + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ { "prim": "address", "annots": [ "%borrower" ] }, { "prim": "address", "annots": [ "%cTokenBorrowed" ] } ] + }, + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%cTokenCollateral" ] }, + { + "prim": "pair", + "args": [ { "prim": "address", "annots": [ "%liquidator" ] }, { "prim": "nat", "annots": [ "%repayAmount" ] } ] + } + ] + } + ] + } + ], + "annots": [ "%liquidateBorrowAllowed" ] + }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "357" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "SENDER" }, + { "prim": "PAIR" }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "PAIR" }, + { "prim": "SELF_ADDRESS" }, + { "prim": "DUP", "args": [ { "int": "6" } ] }, + { "prim": "CAR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" }, + { "prim": "SENDER" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "COMPARE" }, + { "prim": "NEQ" }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_LIQUIDATE_LIQUIDATOR_IS_BORROWER" } ] }, { "prim": "FAILWITH" } + ] + ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_LIQUIDATE_CLOSE_AMOUNT_IS_INVALID" } ] }, + { "prim": "FAILWITH" } + ] + ] + }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "LEVEL" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTEREST_OLD" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "628" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "SWAP" }, + { "prim": "DROP" }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "631" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] + ] + } + ], + [ { "prim": "DROP" } ] + ] + } + ], + [] + ] + }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "10" } ] }, + { "prim": "CAR" }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "263" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DUP", "args": [ { "int": "11" } ] }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "10" } ] }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "COMPARE" }, + { "prim": "LE" }, + { "prim": "IF", "args": [ [ { "prim": "DROP" } ], [ { "prim": "SWAP" }, { "prim": "DROP" } ] ] }, + { "prim": "DUP", "args": [ { "int": "10" } ] }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "UPDATE", "args": [ { "int": "2" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "11" } ] }, + { "prim": "CAR" }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "265" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DIG", "args": [ { "int": "8" } ] }, + { "prim": "UPDATE", "args": [ { "int": "1" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "DUG", "args": [ { "int": "3" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "SWAP" }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "COMPARE" }, + { "prim": "LE" }, + { "prim": "IF", "args": [ [ { "prim": "DROP" } ], [ { "prim": "SWAP" }, { "prim": "DROP" } ] ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "CDR" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "5" } ] }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "268" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "CDR" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CDR" }, + { "prim": "CONTRACT", "args": [ { "prim": "address" } ], "annots": [ "%removeFromLoans" ] }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "270" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ], + [] + ] + }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CDR" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "SELF_ADDRESS" }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "PAIR", "args": [ { "int": "3" } ] }, + { "prim": "VIEW", "args": [ { "string": "liquidateCalculateSeizeTokens" }, { "prim": "nat" } ] }, + { + "prim": "IF_NONE", + "args": [ + [ + { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "INVALID LIQUIDATE CALC SEIZE TOKEN VIEW" } ] }, + { "prim": "FAILWITH" } + ], + [] + ] + }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "VIEW", "args": [ { "string": "balanceOf" }, { "prim": "nat" } ] }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "INVALID BALANCE OF VIEW" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "COMPARE" }, + { "prim": "GE" }, + { + "prim": "IF", + "args": [ + [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "LIQUIDATE_SEIZE_TOO_MUCH" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { + "prim": "CONTRACT", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%borrower" ] }, + { + "prim": "pair", + "args": [ { "prim": "address", "annots": [ "%liquidator" ] }, { "prim": "nat", "annots": [ "%seizeTokens" ] } ] + } + ] + } + ], + "annots": [ "%seize" ] + }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "382" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CDR" }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "SELF_ADDRESS" }, + { "prim": "DUP", "args": [ { "int": "7" } ] }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "PAIR", "args": [ { "int": "3" } ] }, + { "prim": "VIEW", "args": [ { "string": "liquidateCalculateSeizeTokens" }, { "prim": "nat" } ] }, + { + "prim": "IF_NONE", + "args": [ + [ + { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "INVALID LIQUIDATE CALC SEIZE TOKEN VIEW" } ] }, + { "prim": "FAILWITH" } + ], + [] + ] + }, + { "prim": "SENDER" }, + { "prim": "DIG", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "PAIR", "args": [ { "int": "3" } ] }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "SELF_ADDRESS" }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "NEQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTERNAL_CALL" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "SENDER" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { + "prim": "PUSH", + "args": [ + { + "prim": "option", + "args": [ + { + "prim": "pair", + "args": [ { "prim": "map", "args": [ { "prim": "address" }, { "prim": "nat" } ] }, { "prim": "nat" } ] + } + ] + }, + { "prim": "Some", "args": [ { "prim": "Pair", "args": [ [], { "int": "0" } ] } ] } + ] + }, + { "prim": "SENDER" }, + { "prim": "UPDATE" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" } + ] + ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "SENDER" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { + "prim": "PUSH", + "args": [ + { "prim": "option", "args": [ { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } ] }, + { "prim": "Some", "args": [ { "prim": "Pair", "args": [ { "int": "0" }, { "int": "0" } ] } ] } + ] + }, + { "prim": "SENDER" }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" } + ] + ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CDR" }, + { + "prim": "CONTRACT", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%cToken" ] }, + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%minter" ] }, { "prim": "nat", "annots": [ "%mintAmount" ] } ] } + ] + } + ], + "annots": [ "%mintAllowed" ] + }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "104" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "SENDER" }, + { "prim": "SELF_ADDRESS" }, + { "prim": "PAIR", "args": [ { "int": "3" } ] }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "LEVEL" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTEREST_OLD" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DROP" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "DIVISION_BY_ZERO" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "9" } ] }, + { "prim": "DUP", "args": [ { "int": "6" } ] }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "CDR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1000000" } ] }, + { "prim": "DUP", "args": [ { "int": "9" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "19" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] + ] + }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "ADD" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "671" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "257" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] + ] + } + ], + [] + ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "DIVISION_BY_ZERO" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "270" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_MINT_AMOUNT_IS_INVALID" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "DUP" }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "ADD" }, + { "prim": "UPDATE", "args": [ { "int": "10" } ] }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "DUP" }, + { "prim": "SENDER" }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "99" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DUP" }, + { "prim": "CDR" }, + { "prim": "DIG", "args": [ { "int": "9" } ] }, + { "prim": "ADD" }, + { "prim": "UPDATE", "args": [ { "int": "2" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" } + ], + [ + { "prim": "SELF_ADDRESS" }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "NEQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTERNAL_CALL" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CDR" }, + { + "prim": "CONTRACT", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%cToken" ] }, + { + "prim": "pair", + "args": [ { "prim": "address", "annots": [ "%redeemer" ] }, { "prim": "nat", "annots": [ "%redeemAmount" ] } ] + } + ] + } + ], + "annots": [ "%redeemAllowed" ] + }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "177" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "SENDER" }, + { "prim": "SELF_ADDRESS" }, + { "prim": "PAIR", "args": [ { "int": "3" } ] }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "6" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DROP", "args": [ { "int": "2" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "DIVISION_BY_ZERO" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "9" } ] }, + { "prim": "DUP", "args": [ { "int": "6" } ] }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "CDR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1000000" } ] }, + { "prim": "DUP", "args": [ { "int": "9" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "19" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] + ] + }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "ADD" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "671" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "257" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] + ] + } + ], + [ { "prim": "SWAP" }, { "prim": "DROP" } ] + ] + }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "61" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" } + ], + [ { "prim": "PUSH", "args": [ { "prim": "bool" }, { "prim": "False" } ] } ] + ] + }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1000000" } ] }, + { "prim": "DUP", "args": [ { "int": "7" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "19" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] + ] + }, + { "prim": "COMPARE" }, + { "prim": "GE" }, + { + "prim": "IF", + "args": [ + [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INSUFFICIENT_CASH" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "LEVEL" }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "DROP" }, + { "prim": "DIG", "args": [ { "int": "4" } ] }, + { "prim": "DROP" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ + [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTEREST_OLD" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "Insufficient supply" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "SWAP" }, + { "prim": "UPDATE", "args": [ { "int": "10" } ] }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "SENDER" }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "172" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "CDR" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "Insufficient balance" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "DUP" }, + { "prim": "SENDER" }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "171" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "DIG", "args": [ { "int": "8" } ] }, + { "prim": "UPDATE", "args": [ { "int": "2" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" } + ], + [ { "prim": "DROP", "args": [ { "int": "2" } ] }, { "prim": "SWAP" }, { "prim": "DROP" } ] + ] + } + ] + ] + } + ] + ] + } + ] + ] + } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "SELF_ADDRESS" }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "NEQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTERNAL_CALL" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CDR" }, + { + "prim": "CONTRACT", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%cToken" ] }, + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%redeemer" ] }, { "prim": "nat", "annots": [ "%redeemAmount" ] } ] } + ] + } + ], + "annots": [ "%redeemAllowed" ] + }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "177" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "SENDER" }, + { "prim": "SELF_ADDRESS" }, + { "prim": "PAIR", "args": [ { "int": "3" } ] }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "7" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DROP" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "6" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "DIVISION_BY_ZERO" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "DUP", "args": [ { "int": "6" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "DUP", "args": [ { "int": "7" } ] }, + { "prim": "GET", "args": [ { "int": "9" } ] }, + { "prim": "DUP", "args": [ { "int": "8" } ] }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "CDR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1000000" } ] }, + { "prim": "DUP", "args": [ { "int": "11" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "19" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "ADD" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "671" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "257" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + } + ], + [] + ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "DIVISION_BY_ZERO" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "DUP", "args": [ { "int": "7" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "DUP", "args": [ { "int": "7" } ] }, + { "prim": "MUL" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "280" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "281" } ] }, { "prim": "FAILWITH" } ], + [ + { "prim": "DROP", "args": [ { "int": "2" } ] }, + { "prim": "SWAP" }, + { "prim": "DROP" }, + { "prim": "SWAP" }, + { "prim": "DROP" }, + { "prim": "SWAP" }, + { "prim": "DROP" }, + { "prim": "SWAP" }, + { "prim": "DROP" } + ] + ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1" } ] }, + { "prim": "ADD" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" } + ], + [ { "prim": "PUSH", "args": [ { "prim": "bool" }, { "prim": "False" } ] } ] + ] + }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1000000" } ] }, + { "prim": "DUP", "args": [ { "int": "7" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "19" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "COMPARE" }, + { "prim": "GE" }, + { + "prim": "IF", + "args": [ + [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INSUFFICIENT_CASH" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "LEVEL" }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "DROP" }, + { "prim": "DIG", "args": [ { "int": "4" } ] }, + { "prim": "DROP" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTEREST_OLD" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "Insufficient supply" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "SWAP" }, + { "prim": "UPDATE", "args": [ { "int": "10" } ] }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "SENDER" }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "172" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "CDR" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "Insufficient balance" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "DUP" }, + { "prim": "SENDER" }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "171" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DIG", "args": [ { "int": "8" } ] }, + { "prim": "UPDATE", "args": [ { "int": "2" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" } + ], + [ { "prim": "DROP", "args": [ { "int": "2" } ] }, { "prim": "SWAP" }, { "prim": "DROP" } ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "6" } ] }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_NOT_ADMIN" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "SIZE" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "OP_IN_PROGRESS" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "PUSH", "args": [ { "prim": "bool" }, { "prim": "True" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "12" } ] }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "SELF", "annots": [ "%accrueInterest" ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "UNIT" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" }, + { "prim": "SELF", "annots": [ "%reduceReservesInternal" ] }, + { "prim": "AMOUNT" }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ], + [ + { "prim": "SELF_ADDRESS" }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "NEQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTERNAL_CALL" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "SENDER" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { + "prim": "PUSH", + "args": [ + { + "prim": "option", + "args": [ + { + "prim": "pair", + "args": [ { "prim": "map", "args": [ { "prim": "address" }, { "prim": "nat" } ] }, { "prim": "nat" } ] + } + ] + }, + { "prim": "Some", "args": [ { "prim": "Pair", "args": [ [], { "int": "0" } ] } ] } + ] + }, + { "prim": "SENDER" }, + { "prim": "UPDATE" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" } + ] + ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "SENDER" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { + "prim": "PUSH", + "args": [ + { "prim": "option", "args": [ { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } ] }, + { "prim": "Some", "args": [ { "prim": "Pair", "args": [ { "int": "0" }, { "int": "0" } ] } ] } + ] + }, + { "prim": "SENDER" }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" } + ] + ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CDR" }, + { + "prim": "CONTRACT", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%cToken" ] }, + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%payer" ] }, + { + "prim": "pair", + "args": [ { "prim": "address", "annots": [ "%borrower" ] }, { "prim": "nat", "annots": [ "%repayAmount" ] } ] + } + ] + } + ] + } + ], + "annots": [ "%repayBorrowAllowed" ] + }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "276" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "SENDER" }, + { "prim": "SENDER" }, + { "prim": "SELF_ADDRESS" }, + { "prim": "PAIR", "args": [ { "int": "4" } ] }, + { "prim": "DIG", "args": [ { "int": "4" } ] }, + { "prim": "DROP" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "LEVEL" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTEREST_OLD" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "SENDER" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "SENDER" }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "628" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "SWAP" }, + { "prim": "DROP" }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "631" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] + ] + } + ], + [ { "prim": "DROP" } ] + ] + } + ], + [] + ] + }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "DUP" }, + { "prim": "SENDER" }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "263" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DUP", "args": [ { "int": "11" } ] }, + { "prim": "DUP", "args": [ { "int": "10" } ] }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "COMPARE" }, + { "prim": "LE" }, + { "prim": "IF", "args": [ [ { "prim": "DROP" } ], [ { "prim": "SWAP" }, { "prim": "DROP" } ] ] }, + { "prim": "DUP", "args": [ { "int": "10" } ] }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "UPDATE", "args": [ { "int": "2" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "DUP" }, + { "prim": "SENDER" }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "265" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DIG", "args": [ { "int": "8" } ] }, + { "prim": "UPDATE", "args": [ { "int": "1" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "DUG", "args": [ { "int": "3" } ] }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "SWAP" }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "COMPARE" }, + { "prim": "LE" }, + { "prim": "IF", "args": [ [ { "prim": "DROP" } ], [ { "prim": "SWAP" }, { "prim": "DROP" } ] ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "CDR" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "5" } ] }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "SENDER" }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "268" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "CDR" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CDR" }, + { "prim": "CONTRACT", "args": [ { "prim": "address" } ], "annots": [ "%removeFromLoans" ] }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "270" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "SENDER" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ], + [] + ] + } + ] + ] + } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "SELF_ADDRESS" }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "NEQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTERNAL_CALL" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "SENDER" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { + "prim": "PUSH", + "args": [ + { + "prim": "option", + "args": [ + { + "prim": "pair", + "args": [ { "prim": "map", "args": [ { "prim": "address" }, { "prim": "nat" } ] }, { "prim": "nat" } ] + } + ] + }, + { "prim": "Some", "args": [ { "prim": "Pair", "args": [ [], { "int": "0" } ] } ] } + ] + }, + { "prim": "SENDER" }, + { "prim": "UPDATE" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" } + ] + ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "SENDER" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { + "prim": "PUSH", + "args": [ + { "prim": "option", "args": [ { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } ] }, + { "prim": "Some", "args": [ { "prim": "Pair", "args": [ { "int": "0" }, { "int": "0" } ] } ] } + ] + }, + { "prim": "SENDER" }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" } + ] + ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CDR" }, + { + "prim": "CONTRACT", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%cToken" ] }, + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%payer" ] }, + { + "prim": "pair", + "args": [ { "prim": "address", "annots": [ "%borrower" ] }, { "prim": "nat", "annots": [ "%repayAmount" ] } ] + } + ] + } + ] + } + ], + "annots": [ "%repayBorrowAllowed" ] + }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "276" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "CDR" }, + { "prim": "DUP", "args": [ { "int": "6" } ] }, + { "prim": "CAR" }, + { "prim": "SENDER" }, + { "prim": "SELF_ADDRESS" }, + { "prim": "PAIR", "args": [ { "int": "4" } ] }, + { "prim": "DIG", "args": [ { "int": "4" } ] }, + { "prim": "DROP" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "LEVEL" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTEREST_OLD" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "628" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "SWAP" }, + { "prim": "DROP" }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "631" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] + ] + } + ], + [ { "prim": "DROP" } ] + ] + } + ], + [] + ] + }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "10" } ] }, + { "prim": "CAR" }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "263" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DUP", "args": [ { "int": "11" } ] }, + { "prim": "CDR" }, + { "prim": "DUP", "args": [ { "int": "10" } ] }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "COMPARE" }, + { "prim": "LE" }, + { "prim": "IF", "args": [ [ { "prim": "DROP" } ], [ { "prim": "SWAP" }, { "prim": "DROP" } ] ] }, + { "prim": "DUP", "args": [ { "int": "10" } ] }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "UPDATE", "args": [ { "int": "2" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "11" } ] }, + { "prim": "CAR" }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "265" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DIG", "args": [ { "int": "8" } ] }, + { "prim": "UPDATE", "args": [ { "int": "1" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "DUG", "args": [ { "int": "3" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CDR" }, + { "prim": "SWAP" }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "COMPARE" }, + { "prim": "LE" }, + { "prim": "IF", "args": [ [ { "prim": "DROP" } ], [ { "prim": "SWAP" }, { "prim": "DROP" } ] ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "CDR" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "5" } ] }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "268" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "CDR" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CDR" }, + { "prim": "CONTRACT", "args": [ { "prim": "address" } ], "annots": [ "%removeFromLoans" ] }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "270" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ], + [ { "prim": "SWAP" }, { "prim": "DROP" } ] + ] + } + ], + [ + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { + "prim": "PUSH", + "args": [ + { + "prim": "option", + "args": [ + { + "prim": "pair", + "args": [ { "prim": "map", "args": [ { "prim": "address" }, { "prim": "nat" } ] }, { "prim": "nat" } ] + } + ] + }, + { "prim": "Some", "args": [ { "prim": "Pair", "args": [ [], { "int": "0" } ] } ] } + ] + }, + { "prim": "DUP", "args": [ { "int": "8" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" } + ] + ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { + "prim": "PUSH", + "args": [ + { "prim": "option", "args": [ { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } ] }, + { "prim": "Some", "args": [ { "prim": "Pair", "args": [ { "int": "0" }, { "int": "0" } ] } ] } + ] + }, + { "prim": "DUP", "args": [ { "int": "8" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" } + ] + ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CDR" }, + { "prim": "SELF_ADDRESS" }, + { "prim": "SENDER" }, + { "prim": "PAIR" }, + { "prim": "VIEW", "args": [ { "string": "seizeAllowed" }, { "prim": "bool" } ] }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "INVALID SEIZE ALLOWED VIEW" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_LIQUIDATE_SEIZE_COMPTROLLER_REJECTION" } ] }, + { "prim": "FAILWITH" } + ] + ] + }, + { "prim": "DUP" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "COMPARE" }, + { "prim": "NEQ" }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_LIQUIDATE_SEIZE_LIQUIDATOR_IS_BORROWER" } ] }, + { "prim": "FAILWITH" } + ] + ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "LEVEL" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTEREST_OLD" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "6" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "231" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DROP" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "DIVISION_BY_ZERO" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "9" } ] }, + { "prim": "DUP", "args": [ { "int": "6" } ] }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "CDR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1000000" } ] }, + { "prim": "DUP", "args": [ { "int": "9" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "19" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] + ] + }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "ADD" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "671" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "257" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] + ] + } + ], + [] + ] + }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "DUP" }, + { "prim": "GET", "args": [ { "int": "9" } ] }, + { "prim": "DIG", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "DIG", "args": [ { "int": "4" } ] }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "61" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "ADD" }, + { "prim": "UPDATE", "args": [ { "int": "9" } ] }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "SWAP" }, + { "prim": "UPDATE", "args": [ { "int": "10" } ] }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "307" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "CDR" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "10" } ] }, + { "prim": "CAR" }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "334" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DIG", "args": [ { "int": "8" } ] }, + { "prim": "UPDATE", "args": [ { "int": "2" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "9" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "335" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DUP" }, + { "prim": "CDR" }, + { "prim": "DIG", "args": [ { "int": "9" } ] }, + { "prim": "DIG", "args": [ { "int": "10" } ] }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] + ] + }, + { "prim": "ADD" }, + { "prim": "UPDATE", "args": [ { "int": "2" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "PAIR" }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "CDR" }, + { "prim": "SWAP" }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" } + ], + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "PUSH", "args": [ { "prim": "bool" }, { "prim": "True" } ] }, + { "prim": "DIG", "args": [ { "int": "7" } ] }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" } + ] + ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] } + ] + ] + } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "6" } ] }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_NOT_ADMIN" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "SIZE" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "OP_IN_PROGRESS" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "PUSH", "args": [ { "prim": "bool" }, { "prim": "True" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "9" } ] }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "SELF", "annots": [ "%accrueInterest" ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "UNIT" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" }, + { "prim": "SELF", "annots": [ "%setInterestRateModelInternal" ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ], + [ + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "6" } ] }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_NOT_ADMIN" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "SIZE" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "OP_IN_PROGRESS" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "PUSH", "args": [ { "prim": "bool" }, { "prim": "True" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "10" } ] }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "SELF", "annots": [ "%accrueInterest" ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "UNIT" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" }, + { "prim": "SELF", "annots": [ "%setReserveFactorInternal" ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { + "prim": "CONTRACT", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%from" ] }, + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%to" ] }, { "prim": "nat", "annots": [ "%value" ] } ] } + ] + } + ], + "annots": [ "%transfer" ] + }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "17" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "6" } ] }, + { "prim": "SELF_ADDRESS" }, + { "prim": "PAIR", "args": [ { "int": "3" } ] }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ], + [ + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { + "prim": "CONTRACT", + "args": [ + { + "prim": "list", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%from_" ] }, + { + "prim": "list", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "address", "annots": [ "%to_" ] }, + { + "prim": "pair", + "args": [ { "prim": "nat", "annots": [ "%token_id" ] }, { "prim": "nat", "annots": [ "%amount" ] } ] + } + ] + } + ], + "annots": [ "%txs" ] + } + ] + } + ] + } + ], + "annots": [ "%transfer" ] + }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "43" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { + "prim": "NIL", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "address" }, + { + "prim": "list", + "args": [ + { "prim": "pair", "args": [ { "prim": "address" }, { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } ] } + ] + } + ] + } + ] + }, + { + "prim": "NIL", + "args": [ + { "prim": "pair", "args": [ { "prim": "address" }, { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } ] } + ] + }, + { "prim": "DIG", "args": [ { "int": "5" } ] }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "SWAP" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "DUP", "args": [ { "int": "8" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "6" } ] }, + { "prim": "PAIR", "args": [ { "int": "3" } ] }, + { "prim": "CONS" }, + { "prim": "SELF_ADDRESS" }, + { "prim": "PAIR" }, + { "prim": "CONS" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ] + ] + } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF", + "args": [ + [ + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "6" } ] }, + { "prim": "CONTRACT", "args": [ { "prim": "unit" } ], "annots": [ "%receive" ] }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "21" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "BALANCE" }, + { "prim": "UNIT" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ], + [ + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "6" } ] }, + { "prim": "CONTRACT", "args": [ { "prim": "unit" } ] }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "24" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "BALANCE" }, + { "prim": "UNIT" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ] + ] + } + ], + [ + { "prim": "SENDER" }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "bool" }, { "prim": "True" } ] } ], + [ + { "prim": "DUP" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "404" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "CAR" }, + { "prim": "SENDER" }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "404" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "COMPARE" }, + { "prim": "GE" } + ] + ] + }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "FA1.2_NotAllowed" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "SELF_ADDRESS" }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "NEQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTERNAL_CALL" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { + "prim": "PUSH", + "args": [ + { + "prim": "option", + "args": [ + { + "prim": "pair", + "args": [ { "prim": "map", "args": [ { "prim": "address" }, { "prim": "nat" } ] }, { "prim": "nat" } ] + } + ] + }, + { "prim": "Some", "args": [ { "prim": "Pair", "args": [ [], { "int": "0" } ] } ] } + ] + }, + { "prim": "DUP", "args": [ { "int": "8" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" } + ] + ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [], + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { + "prim": "PUSH", + "args": [ + { "prim": "option", "args": [ { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] } ] }, + { "prim": "Some", "args": [ { "prim": "Pair", "args": [ { "int": "0" }, { "int": "0" } ] } ] } + ] + }, + { "prim": "DUP", "args": [ { "int": "8" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" } + ] + ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CDR" }, + { + "prim": "CONTRACT", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%cToken" ] }, { "prim": "address", "annots": [ "%src" ] } ] }, + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%dst" ] }, { "prim": "nat", "annots": [ "%transferTokens" ] } ] } + ] + } + ], + "annots": [ "%transferAllowed" ] + }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "427" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "PAIR" }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "SELF_ADDRESS" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "413" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "CDR" }, + { "prim": "COMPARE" }, + { "prim": "GE" }, + { + "prim": "IF", + "args": [ + [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "FA1.2_InsufficientBalance" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "416" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "CDR" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "415" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DIG", "args": [ { "int": "3" } ] }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "10" } ] }, + { "prim": "CAR" }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "415" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DIG", "args": [ { "int": "8" } ] }, + { "prim": "UPDATE", "args": [ { "int": "2" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "9" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "417" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DUP" }, + { "prim": "CDR" }, + { "prim": "DUP", "args": [ { "int": "11" } ] }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "ADD" }, + { "prim": "UPDATE", "args": [ { "int": "2" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "SENDER" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "COMPARE" }, + { "prim": "NEQ" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "DUP" }, + { "prim": "DUP", "args": [ { "int": "9" } ] }, + { "prim": "CAR" }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "419" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "11" } ] }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DIG", "args": [ { "int": "12" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "13" } ] }, + { "prim": "CAR" }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "420" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "CAR" }, + { "prim": "SENDER" }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "420" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "419" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "SOME" }, + { "prim": "SENDER" }, + { "prim": "UPDATE" }, + { "prim": "UPDATE", "args": [ { "int": "1" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "421" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "CAR" }, + { "prim": "SENDER" }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "421" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "DUP" }, + { "prim": "DIG", "args": [ { "int": "8" } ] }, + { "prim": "CAR" }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "422" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "NONE", "args": [ { "prim": "nat" } ] }, + { "prim": "SENDER" }, + { "prim": "UPDATE" }, + { "prim": "UPDATE", "args": [ { "int": "1" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" } + ], + [ { "prim": "SWAP" }, { "prim": "DROP" } ] + ] + } + ], + [ { "prim": "SWAP" }, { "prim": "DROP" } ] + ] + } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "SELF", "annots": [ "%getAccountSnapshot" ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "SELF", "annots": [ "%setAccountSnapshot" ] }, + { "prim": "DIG", "args": [ { "int": "4" } ] }, + { "prim": "PAIR" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" } + ], + [ + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "6" } ] }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_NOT_ADMIN" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "DUP", "args": [ { "int": "6" } ] }, + { "prim": "CDR" }, + { "prim": "SOME" }, + { "prim": "DIG", "args": [ { "int": "6" } ] }, + { "prim": "CAR" }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] } + ] + ] + } + ] + ] + } + ] + ] + } + ] + ] + } + ] + ] + } + ] + ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "SWAP" }, + { "prim": "ITER", "args": [ [ { "prim": "CONS" } ] ] }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" } + ] + ] + }, + { + "prim": "view", + "args": [ + { "string": "accrualBlockNumber" }, + { "prim": "unit" }, + { "prim": "nat" }, + [ { "prim": "GET", "args": [ { "int": "3" } ] }, { "prim": "CAR" }, { "prim": "CAR" }, { "prim": "GET", "args": [ { "int": "3" } ] } ] + ] + }, + { + "prim": "view", + "args": [ + { "string": "balanceOf" }, + { "prim": "address" }, + { "prim": "nat" }, + [ + { "prim": "UNPAIR", "args": [ { "int": "3" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DROP" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "DROP" }, + { "prim": "SWAP" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "SWAP" }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "503" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "CDR" } + ], + [ { "prim": "SWAP" }, { "prim": "DROP" }, { "prim": "SWAP" }, { "prim": "DROP" }, { "prim": "SWAP" }, { "prim": "DROP" } ] + ] + } + ] + ] + }, + { + "prim": "view", + "args": [ + { "string": "borrowBalanceStoredView" }, + { "prim": "address" }, + { "prim": "nat" }, + [ + { "prim": "UNPAIR", "args": [ { "int": "3" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "628" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "SWAP" }, + { "prim": "DROP" }, + { "prim": "SWAP" }, + { "prim": "DROP" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "DROP" }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "631" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] } + ], + [ { "prim": "DROP" }, { "prim": "SWAP" }, { "prim": "DROP" }, { "prim": "SWAP" }, { "prim": "DROP" }, { "prim": "SWAP" }, { "prim": "DROP" } ] + ] + } + ], + [ { "prim": "SWAP" }, { "prim": "DROP" }, { "prim": "SWAP" }, { "prim": "DROP" }, { "prim": "SWAP" }, { "prim": "DROP" } ] + ] + } + ] + ] + }, + { + "prim": "view", + "args": [ + { "string": "comptroller" }, + { "prim": "unit" }, + { "prim": "address" }, + [ { "prim": "GET", "args": [ { "int": "3" } ] }, { "prim": "CAR" }, { "prim": "GET", "args": [ { "int": "5" } ] }, { "prim": "CDR" } ] + ] + }, + { + "prim": "view", + "args": [ + { "string": "exchangeRateStoredView" }, + { "prim": "unit" }, + { "prim": "nat" }, + [ + { "prim": "UNPAIR", "args": [ { "int": "3" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DROP", "args": [ { "int": "2" } ] }, + { "prim": "SWAP" }, + { "prim": "DROP" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "DIVISION_BY_ZERO" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "DUP" }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "9" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "CDR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1000000" } ] }, + { "prim": "DIG", "args": [ { "int": "6" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "EDIV" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "19" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "ADD" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "671" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "257" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] } + ], + [ { "prim": "SWAP" }, { "prim": "DROP" }, { "prim": "SWAP" }, { "prim": "DROP" }, { "prim": "SWAP" }, { "prim": "DROP" } ] + ] + } + ] + ] + }, + { + "prim": "view", + "args": [ + { "string": "getAccountSnapshotView" }, + { "prim": "address" }, + { + "prim": "pair", + "args": [ + { "prim": "pair", "args": [ { "prim": "address", "annots": [ "%account" ] }, { "prim": "nat", "annots": [ "%borrowBalance" ] } ] }, + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%cTokenBalance" ] }, { "prim": "nat", "annots": [ "%exchangeRateMantissa" ] } ] } + ] + }, + [ + { "prim": "UNPAIR", "args": [ { "int": "3" } ] }, + { "prim": "PUSH", "args": [ { "prim": "pair", "args": [ { "prim": "nat" }, { "prim": "nat" } ] }, { "prim": "Pair", "args": [ { "int": "0" }, { "int": "0" } ] } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "LEVEL" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTEREST_OLD" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "573" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "CDR" }, + { "prim": "UPDATE", "args": [ { "int": "3" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "628" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "SWAP" }, + { "prim": "DROP" }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "631" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] } + ], + [ { "prim": "DROP" } ] + ] + } + ], + [] + ] + }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "6" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "DROP", "args": [ { "int": "2" } ] }, + { "prim": "SWAP" }, + { "prim": "DROP" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "DROP" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "DIVISION_BY_ZERO" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "9" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "CDR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1000000" } ] }, + { "prim": "DIG", "args": [ { "int": "7" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "EDIV" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "19" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "ADD" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "671" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "257" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] } + ], + [ + { "prim": "SWAP" }, + { "prim": "DROP" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "DROP" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "DROP" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "DROP" } + ] + ] + }, + { "prim": "UPDATE", "args": [ { "int": "4" } ] } + ], + [ { "prim": "SWAP" }, { "prim": "DROP" }, { "prim": "SWAP" }, { "prim": "DROP" }, { "prim": "SWAP" }, { "prim": "DROP" } ] + ] + } + ] + ] + } +] \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_009_cont_3_contract.py b/TezFinTest/CToken_Tests/step_009_cont_3_contract.py new file mode 100644 index 00000000..8b58e967 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_009_cont_3_contract.py @@ -0,0 +1,742 @@ +import smartpy as sp + +class Contract(sp.Contract): + def __init__(self): + self.init_type(sp.TRecord(accBorrowBalance = sp.TNat, accCTokenBalance = sp.TNat, accExchangeRateMantissa = sp.TNat, accrualBlockNumber = sp.TNat, activeOperations = sp.TSet(sp.TNat), administrator = sp.TAddress, borrowIndex = sp.TNat, borrowRateMaxMantissa = sp.TNat, borrowRatePerBlock = sp.TNat, borrows = sp.TBigMap(sp.TAddress, sp.TRecord(interestIndex = sp.TNat, principal = sp.TNat).layout(("interestIndex", "principal"))), comptroller = sp.TAddress, expScale = sp.TNat, halfExpScale = sp.TNat, initialExchangeRateMantissa = sp.TNat, interestRateModel = sp.TAddress, ledger = sp.TBigMap(sp.TAddress, sp.TRecord(approvals = sp.TMap(sp.TAddress, sp.TNat), balance = sp.TNat).layout(("approvals", "balance"))), metadata = sp.TBigMap(sp.TString, sp.TBytes), pendingAdministrator = sp.TOption(sp.TAddress), protocolSeizeShareMantissa = sp.TNat, reserveFactorMantissa = sp.TNat, reserveFactorMaxMantissa = sp.TNat, supplyRatePerBlock = sp.TNat, token_metadata = sp.TBigMap(sp.TNat, sp.TRecord(token_id = sp.TNat, token_info = sp.TMap(sp.TString, sp.TBytes)).layout(("token_id", "token_info"))), totalBorrows = sp.TNat, totalReserves = sp.TNat, totalSupply = sp.TNat).layout((((("accBorrowBalance", ("accCTokenBalance", "accExchangeRateMantissa")), ("accrualBlockNumber", ("activeOperations", "administrator"))), (("borrowIndex", ("borrowRateMaxMantissa", "borrowRatePerBlock")), (("borrows", "comptroller"), ("expScale", "halfExpScale")))), ((("initialExchangeRateMantissa", ("interestRateModel", "ledger")), ("metadata", ("pendingAdministrator", "protocolSeizeShareMantissa"))), (("reserveFactorMantissa", ("reserveFactorMaxMantissa", "supplyRatePerBlock")), (("token_metadata", "totalBorrows"), ("totalReserves", "totalSupply"))))))) + self.init(accBorrowBalance = 0, + accCTokenBalance = 0, + accExchangeRateMantissa = 0, + accrualBlockNumber = 0, + activeOperations = sp.set([]), + administrator = sp.address('tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5'), + borrowIndex = 1000000000000000000, + borrowRateMaxMantissa = 800000000000, + borrowRatePerBlock = 0, + borrows = {}, + comptroller = sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF'), + expScale = 1000000000000000000, + halfExpScale = 500000000000000000, + initialExchangeRateMantissa = 1000000000000, + interestRateModel = sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H'), + ledger = {}, + metadata = {'' : sp.bytes('0x74657a6f732d73746f726167653a64617461'), 'data' : sp.bytes('0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d')}, + pendingAdministrator = sp.none, + protocolSeizeShareMantissa = 100000000000000, + reserveFactorMantissa = 50000000000000000, + reserveFactorMaxMantissa = 1000000000000000000, + supplyRatePerBlock = 0, + token_metadata = {0 : sp.record(token_id = 0, token_info = {'decimals' : sp.bytes('0x78'), 'name' : sp.bytes('0x436f6d706f756e6420746f6b656e'), 'symbol' : sp.bytes('0x63546f6b656e')})}, + totalBorrows = 0, + totalReserves = 0, + totalSupply = 0) + + @sp.entrypoint + def acceptGovernance(self, params): + sp.set_type(params, sp.TUnit) + sp.verify(sp.sender == self.data.pendingAdministrator.open_some(message = 'CT_NOT_SET_PENDING_ADMIN'), 'CT_NOT_PENDING_ADMIN') + self.data.administrator = self.data.pendingAdministrator.open_some() + self.data.pendingAdministrator = sp.none + + @sp.entrypoint + def accrueInterest(self, params): + sp.set_type(params, sp.TUnit) + sp.if sp.level != self.data.accrualBlockNumber: + sp.if self.data.accrualBlockNumber == 0: + self.data.accrualBlockNumber = sp.level + sp.else: + self.data.activeOperations.add(8) + sp.transfer(sp.self_entrypoint('doAccrueInterest'), sp.tez(0), sp.contract(sp.TContract(sp.TNat), sp.self_address, entrypoint='accrueInterestInternal').open_some()) + + @sp.entrypoint + def accrueInterestInternal(self, params): + sp.set_type(params, sp.TContract(sp.TNat)) + sp.verify(sp.sender == sp.self_address, 'CT_INTERNAL_FUNCTION') + sp.transfer(sp.record(borrows = self.data.totalBorrows, cash = self.data.totalSupply // 1000000, cb = params, reserves = self.data.totalReserves), sp.tez(0), sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), self.data.interestRateModel, entrypoint='getBorrowRate').open_some()) + + @sp.entrypoint + def addReserves(self, params): + sp.set_type(params, sp.TNat) + sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') + sp.verify(sp.len(self.data.activeOperations) == 0, 'OP_IN_PROGRESS') + self.data.activeOperations.add(11) + sp.transfer(sp.unit, sp.tez(0), sp.self_entrypoint('accrueInterest')) + sp.transfer(sp.record(addAmount = params, originalSender = sp.sender), sp.amount, sp.self_entrypoint('addReservesInternal')) + + @sp.entrypoint + def addReservesInternal(self, params): + sp.verify(sp.sender == sp.self_address, 'CT_INTERNAL_FUNCTION') + sp.verify(self.data.activeOperations.contains(11), 'OP_NOT_ACTIVE') + self.data.activeOperations.remove(11) + sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') + self.data.totalReserves += params.addAmount + + @sp.entrypoint + def approve(self, params): + sp.set_type(params, sp.TRecord(spender = sp.TAddress, value = sp.TNat).layout(("spender", "value"))) + sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') + sp.verify((self.data.ledger[sp.sender].approvals.contains(params.spender)) | (sp.len(self.data.ledger[sp.sender].approvals) < 1000), 'FA1.2_MaxApprovalsReached') + sp.verify((self.data.ledger[sp.sender].approvals.get(params.spender, default_value = 0) == 0) | (params.value == 0), 'FA1.2_UnsafeAllowanceChange') + sp.if params.value == 0: + del self.data.ledger[sp.sender].approvals[params.spender] + sp.else: + self.data.ledger[sp.sender].approvals[params.spender] = params.value + + @sp.entrypoint + def borrow(self, params): + sp.set_type(params, sp.TNat) + sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') + sp.if ~ (self.data.ledger.contains(sp.sender)): + self.data.ledger[sp.sender] = sp.record(approvals = {}, balance = 0) + sp.if ~ (self.data.borrows.contains(sp.sender)): + self.data.borrows[sp.sender] = sp.record(interestIndex = 0, principal = 0) + sp.transfer(sp.record(borrowAmount = params, borrower = sp.sender, cToken = sp.self_address), sp.tez(0), sp.contract(sp.TRecord(borrowAmount = sp.TNat, borrower = sp.TAddress, cToken = sp.TAddress).layout(("cToken", ("borrower", "borrowAmount"))), self.data.comptroller, entrypoint='borrowAllowed').open_some()) + sp.verify((self.data.totalSupply // 1000000) >= params, 'CT_INSUFFICIENT_CASH') + sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') + borrowBalance = sp.local("borrowBalance", 0) + sp.if self.data.borrows.contains(sp.sender): + borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[sp.sender]) + sp.if borrowSnapshot.value.principal > 0: + borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex + self.data.borrows[sp.sender].principal = borrowBalance.value + params + self.data.borrows[sp.sender].interestIndex = self.data.borrowIndex + self.data.totalBorrows += params + + @sp.entrypoint + def borrowBalanceStored(self, params): + __s1 = sp.bind_block("__s1"): + with __s1: + sp.set_type(sp.fst(params), sp.TAddress) + borrowBalance = sp.local("borrowBalance", 0) + sp.if self.data.borrows.contains(sp.fst(params)): + borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[sp.fst(params)]) + sp.if borrowSnapshot.value.principal > 0: + borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex + sp.result(borrowBalance.value) + sp.set_type(sp.snd(params), sp.TContract(sp.TNat)) + sp.transfer(__s1.value, sp.tez(0), sp.snd(params)) + + @sp.entrypoint + def doAccrueInterest(self, params): + sp.set_type(params, sp.TNat) + sp.verify(sp.sender == self.data.interestRateModel, 'CT_SENDER_NOT_IRM') + sp.verify(self.data.activeOperations.contains(8), 'OP_NOT_ACTIVE') + self.data.activeOperations.remove(8) + sp.verify(params <= self.data.borrowRateMaxMantissa, 'CT_INVALID_BORROW_RATE') + sp.set_type(params, sp.TNat) + sp.set_type(sp.record(mantissa = params), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(sp.as_nat(sp.level - self.data.accrualBlockNumber), sp.TNat) + sp.set_type(params * sp.as_nat(sp.level - self.data.accrualBlockNumber), sp.TNat) + compute_CToken_761 = sp.local("compute_CToken_761", sp.record(mantissa = params * sp.as_nat(sp.level - self.data.accrualBlockNumber))) + sp.set_type(compute_CToken_761.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(compute_CToken_761.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(self.data.totalBorrows, sp.TNat) + sp.set_type(compute_CToken_761.value.mantissa * self.data.totalBorrows, sp.TNat) + sp.set_type(sp.record(mantissa = compute_CToken_761.value.mantissa * self.data.totalBorrows), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + compute_CToken_763 = sp.local("compute_CToken_763", (compute_CToken_761.value.mantissa * self.data.totalBorrows) // self.data.expScale) + self.data.totalBorrows = compute_CToken_763.value + self.data.totalBorrows + sp.set_type(sp.record(mantissa = self.data.reserveFactorMantissa), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(compute_CToken_763.value, sp.TNat) + sp.set_type(self.data.totalReserves, sp.TNat) + sp.set_type(sp.record(mantissa = self.data.reserveFactorMantissa), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(sp.record(mantissa = self.data.reserveFactorMantissa), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(compute_CToken_763.value, sp.TNat) + sp.set_type(self.data.reserveFactorMantissa * compute_CToken_763.value, sp.TNat) + sp.set_type(sp.record(mantissa = self.data.reserveFactorMantissa * compute_CToken_763.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + self.data.totalReserves = ((self.data.reserveFactorMantissa * compute_CToken_763.value) // self.data.expScale) + self.data.totalReserves + sp.set_type(compute_CToken_761.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(self.data.borrowIndex, sp.TNat) + sp.set_type(self.data.borrowIndex, sp.TNat) + sp.set_type(compute_CToken_761.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(compute_CToken_761.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(self.data.borrowIndex, sp.TNat) + sp.set_type(compute_CToken_761.value.mantissa * self.data.borrowIndex, sp.TNat) + sp.set_type(sp.record(mantissa = compute_CToken_761.value.mantissa * self.data.borrowIndex), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + self.data.borrowIndex = ((compute_CToken_761.value.mantissa * self.data.borrowIndex) // self.data.expScale) + self.data.borrowIndex + self.data.accrualBlockNumber = sp.level + + @sp.entrypoint + def exchangeRateStored(self, params): + __s2 = sp.bind_block("__s2"): + with __s2: + sp.set_type(sp.fst(params), sp.TUnit) + excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) + sp.if self.data.totalSupply > 0: + sp.set_type(self.data.totalSupply // 1000000, sp.TNat) + sp.set_type(0, sp.TNat) + sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) + sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) + sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(self.data.totalSupply, sp.TNat) + sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') + sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) + excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply + sp.result(excRate.value) + sp.set_type(sp.snd(params), sp.TContract(sp.TNat)) + sp.transfer(__s2.value, sp.tez(0), sp.snd(params)) + + @sp.entrypoint + def getAccountSnapshot(self, params): + __s3 = sp.bind_block("__s3"): + with __s3: + compute_CToken_565 = sp.local("compute_CToken_565", sp.record(account = sp.fst(params), borrowBalance = 0, cTokenBalance = 0, exchangeRateMantissa = 0)) + sp.if self.data.ledger.contains(sp.fst(params)): + sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') + compute_CToken_565.value.cTokenBalance = self.data.ledger[sp.fst(params)].balance + borrowBalance = sp.local("borrowBalance", 0) + sp.if self.data.borrows.contains(sp.fst(params)): + borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[sp.fst(params)]) + sp.if borrowSnapshot.value.principal > 0: + borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex + compute_CToken_565.value.borrowBalance = borrowBalance.value + excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) + sp.if self.data.totalSupply > 0: + sp.set_type(self.data.totalSupply // 1000000, sp.TNat) + sp.set_type(0, sp.TNat) + sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) + sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) + sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(self.data.totalSupply, sp.TNat) + sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') + sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) + excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply + compute_CToken_565.value.exchangeRateMantissa = excRate.value + sp.result(compute_CToken_565.value) + sp.set_type(sp.snd(params), sp.TContract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))))) + sp.transfer(__s3.value, sp.tez(0), sp.snd(params)) + + @sp.entrypoint + def getAllowance(self, params): + __s4 = sp.bind_block("__s4"): + with __s4: + result = sp.local("result", 0) + sp.if self.data.ledger.contains(sp.fst(params).owner): + sp.if self.data.ledger[sp.fst(params).owner].approvals.contains(sp.fst(params).spender): + result.value = self.data.ledger[sp.fst(params).owner].approvals[sp.fst(params).spender] + sp.result(result.value) + sp.set_type(sp.snd(params), sp.TContract(sp.TNat)) + sp.transfer(__s4.value, sp.tez(0), sp.snd(params)) + + @sp.entrypoint + def getBalance(self, params): + __s5 = sp.bind_block("__s5"): + with __s5: + result = sp.local("result", 0) + sp.if self.data.ledger.contains(sp.fst(params)): + result.value = self.data.ledger[sp.fst(params)].balance + sp.result(result.value) + sp.set_type(sp.snd(params), sp.TContract(sp.TNat)) + sp.transfer(__s5.value, sp.tez(0), sp.snd(params)) + + @sp.entrypoint + def getBalanceOfUnderlying(self, params): + __s6 = sp.bind_block("__s6"): + with __s6: + sp.set_type(sp.fst(params), sp.TAddress) + excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) + sp.if self.data.totalSupply > 0: + sp.set_type(self.data.totalSupply // 1000000, sp.TNat) + sp.set_type(0, sp.TNat) + sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) + sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) + sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(self.data.totalSupply, sp.TNat) + sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') + sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) + excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply + sp.set_type(excRate.value, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(self.data.ledger[sp.fst(params)].balance, sp.TNat) + sp.set_type(excRate.value * self.data.ledger[sp.fst(params)].balance, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value * self.data.ledger[sp.fst(params)].balance), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.result((excRate.value * self.data.ledger[sp.fst(params)].balance) // self.data.expScale) + sp.set_type(sp.snd(params), sp.TContract(sp.TNat)) + sp.transfer(__s6.value, sp.tez(0), sp.snd(params)) + + @sp.entrypoint + def getCash(self, params): + __s7 = sp.bind_block("__s7"): + with __s7: + sp.set_type(sp.fst(params), sp.TUnit) + sp.result(self.data.totalSupply // 1000000) + sp.set_type(sp.snd(params), sp.TContract(sp.TNat)) + sp.transfer(__s7.value, sp.tez(0), sp.snd(params)) + + @sp.entrypoint + def getTotalSupply(self, params): + __s8 = sp.bind_block("__s8"): + with __s8: + sp.set_type(sp.fst(params), sp.TUnit) + sp.result(self.data.totalSupply) + sp.set_type(sp.snd(params), sp.TContract(sp.TNat)) + sp.transfer(__s8.value, sp.tez(0), sp.snd(params)) + + @sp.entrypoint + def hardResetOp(self, params): + sp.set_type(params, sp.TUnit) + sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') + self.data.activeOperations = sp.set([]) + + @sp.entrypoint + def liquidateBorrow(self, params): + sp.set_type(params, sp.TRecord(borrower = sp.TAddress, cTokenCollateral = sp.TAddress, repayAmount = sp.TNat).layout(("borrower", ("cTokenCollateral", "repayAmount")))) + sp.transfer(sp.record(borrower = params.borrower, cTokenBorrowed = sp.self_address, cTokenCollateral = params.cTokenCollateral, liquidator = sp.sender, repayAmount = params.repayAmount), sp.tez(0), sp.contract(sp.TRecord(borrower = sp.TAddress, cTokenBorrowed = sp.TAddress, cTokenCollateral = sp.TAddress, liquidator = sp.TAddress, repayAmount = sp.TNat).layout((("borrower", "cTokenBorrowed"), ("cTokenCollateral", ("liquidator", "repayAmount")))), self.data.comptroller, entrypoint='liquidateBorrowAllowed').open_some()) + sp.verify(params.borrower != sp.sender, 'CT_LIQUIDATE_LIQUIDATOR_IS_BORROWER') + sp.verify(params.repayAmount > 0, 'CT_LIQUIDATE_CLOSE_AMOUNT_IS_INVALID') + sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') + borrowBalance = sp.local("borrowBalance", 0) + sp.if self.data.borrows.contains(params.borrower): + borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[params.borrower]) + sp.if borrowSnapshot.value.principal > 0: + borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex + sp.set_type(borrowBalance.value, sp.TNat) + sp.set_type(sp.min(borrowBalance.value, params.repayAmount), sp.TNat) + self.data.borrows[params.borrower].principal = sp.as_nat(borrowBalance.value - sp.min(borrowBalance.value, params.repayAmount), message = 'SUBTRACTION_UNDERFLOW') + self.data.borrows[params.borrower].interestIndex = self.data.borrowIndex + sp.set_type(self.data.totalBorrows, sp.TNat) + sp.set_type(sp.min(borrowBalance.value, params.repayAmount), sp.TNat) + self.data.totalBorrows = sp.as_nat(self.data.totalBorrows - sp.min(borrowBalance.value, params.repayAmount), message = 'SUBTRACTION_UNDERFLOW') + sp.if self.data.borrows[params.borrower].principal == 0: + sp.transfer(params.borrower, sp.tez(0), sp.contract(sp.TAddress, self.data.comptroller, entrypoint='removeFromLoans').open_some()) + sp.verify(sp.view("balanceOf", params.borrower, params.cTokenCollateral, sp.TNat).open_some(message = 'INVALID BALANCE OF VIEW') >= sp.view("liquidateCalculateSeizeTokens", sp.record(actualRepayAmount = params.repayAmount, cTokenBorrowed = sp.self_address, cTokenCollateral = params.cTokenCollateral), self.data.comptroller, sp.TNat).open_some(message = 'INVALID LIQUIDATE CALC SEIZE TOKEN VIEW'), 'LIQUIDATE_SEIZE_TOO_MUCH') + sp.transfer(sp.record(borrower = params.borrower, liquidator = sp.sender, seizeTokens = sp.view("liquidateCalculateSeizeTokens", sp.record(actualRepayAmount = params.repayAmount, cTokenBorrowed = sp.self_address, cTokenCollateral = params.cTokenCollateral), self.data.comptroller, sp.TNat).open_some(message = 'INVALID LIQUIDATE CALC SEIZE TOKEN VIEW')), sp.tez(0), sp.contract(sp.TRecord(borrower = sp.TAddress, liquidator = sp.TAddress, seizeTokens = sp.TNat).layout(("borrower", ("liquidator", "seizeTokens"))), params.cTokenCollateral, entrypoint='seize').open_some()) + + @sp.entrypoint + def mint(self, params): + sp.set_type(params, sp.TNat) + sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') + sp.if ~ (self.data.ledger.contains(sp.sender)): + self.data.ledger[sp.sender] = sp.record(approvals = {}, balance = 0) + sp.if ~ (self.data.borrows.contains(sp.sender)): + self.data.borrows[sp.sender] = sp.record(interestIndex = 0, principal = 0) + sp.transfer(sp.record(cToken = sp.self_address, mintAmount = params, minter = sp.sender), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount"))), self.data.comptroller, entrypoint='mintAllowed').open_some()) + sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') + excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) + sp.if self.data.totalSupply > 0: + sp.set_type(self.data.totalSupply // 1000000, sp.TNat) + sp.set_type(0, sp.TNat) + sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) + sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) + sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(self.data.totalSupply, sp.TNat) + sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') + sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) + excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply + amount = sp.local("amount", 0) + sp.if True: + sp.set_type(excRate.value, sp.TNat) + sp.set_type(params, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.verify(excRate.value > 0, 'DIVISION_BY_ZERO') + compute_CToken_965 = sp.local("compute_CToken_965", (params * self.data.expScale) // excRate.value) + amount.value = compute_CToken_965.value + sp.else: + sp.set_type(excRate.value, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params, sp.TNat) + sp.set_type(excRate.value * params, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value * params), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + compute_CToken_968 = sp.local("compute_CToken_968", (excRate.value * params) // self.data.expScale) + amount.value = compute_CToken_968.value + sp.verify(amount.value > 0, 'CT_MINT_AMOUNT_IS_INVALID') + self.data.totalSupply += amount.value + self.data.ledger[sp.sender].balance += amount.value + + @sp.entrypoint + def redeem(self, params): + sp.set_type(params, sp.TNat) + sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') + sp.transfer(sp.record(cToken = sp.self_address, redeemAmount = params, redeemer = sp.sender), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), self.data.comptroller, entrypoint='redeemAllowed').open_some()) + redeem_amount = sp.local("redeem_amount", 0) + sp.if False: + redeem_amount.value = params + sp.else: + excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) + sp.if self.data.totalSupply > 0: + sp.set_type(self.data.totalSupply // 1000000, sp.TNat) + sp.set_type(0, sp.TNat) + sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) + sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) + sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(self.data.totalSupply, sp.TNat) + sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') + sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) + excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply + amount = sp.local("amount", 0) + sp.if False: + sp.set_type(excRate.value, sp.TNat) + sp.set_type(params, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.verify(excRate.value > 0, 'DIVISION_BY_ZERO') + compute_CToken_965 = sp.local("compute_CToken_965", (params * self.data.expScale) // excRate.value) + amount.value = compute_CToken_965.value + sp.else: + sp.set_type(excRate.value, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params, sp.TNat) + sp.set_type(excRate.value * params, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value * params), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + compute_CToken_968 = sp.local("compute_CToken_968", (excRate.value * params) // self.data.expScale) + amount.value = compute_CToken_968.value + redeem_amount.value = amount.value + redeem_tokens = sp.local("redeem_tokens", 0) + sp.if False: + excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) + sp.if self.data.totalSupply > 0: + sp.set_type(self.data.totalSupply // 1000000, sp.TNat) + sp.set_type(0, sp.TNat) + sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) + sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) + sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(self.data.totalSupply, sp.TNat) + sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') + sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) + excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply + amount = sp.local("amount", 0) + sp.if True: + sp.set_type(excRate.value, sp.TNat) + sp.set_type(params, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.verify(excRate.value > 0, 'DIVISION_BY_ZERO') + compute_Exponential_277 = sp.local("compute_Exponential_277", params * self.data.expScale) + compute_Exponential_280 = sp.local("compute_Exponential_280", compute_Exponential_277.value // excRate.value) + sp.if (compute_Exponential_277.value % excRate.value) > 0: + pass + compute_CToken_976 = sp.local("compute_CToken_976", compute_Exponential_280.value + 1) + amount.value = compute_CToken_976.value + sp.else: + sp.set_type(excRate.value, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params, sp.TNat) + sp.set_type(excRate.value * params, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value * params), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + compute_CToken_979 = sp.local("compute_CToken_979", (excRate.value * params) // self.data.expScale) + amount.value = compute_CToken_979.value + redeem_tokens.value = amount.value + sp.else: + redeem_tokens.value = params + sp.if (redeem_amount.value > 0) & (redeem_tokens.value > 0): + sp.verify((self.data.totalSupply // 1000000) >= redeem_amount.value, 'CT_INSUFFICIENT_CASH') + sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') + self.data.totalSupply = sp.as_nat(self.data.totalSupply - redeem_tokens.value, message = 'Insufficient supply') + self.data.ledger[sp.sender].balance = sp.as_nat(self.data.ledger[sp.sender].balance - redeem_tokens.value, message = 'Insufficient balance') + + @sp.entrypoint + def redeemUnderlying(self, params): + sp.set_type(params, sp.TNat) + sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') + sp.transfer(sp.record(cToken = sp.self_address, redeemAmount = params, redeemer = sp.sender), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), self.data.comptroller, entrypoint='redeemAllowed').open_some()) + redeem_amount = sp.local("redeem_amount", 0) + sp.if True: + redeem_amount.value = params + sp.else: + excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) + sp.if self.data.totalSupply > 0: + sp.set_type(self.data.totalSupply // 1000000, sp.TNat) + sp.set_type(0, sp.TNat) + sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) + sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) + sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(self.data.totalSupply, sp.TNat) + sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') + sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) + excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply + amount = sp.local("amount", 0) + sp.if False: + sp.set_type(excRate.value, sp.TNat) + sp.set_type(params, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.verify(excRate.value > 0, 'DIVISION_BY_ZERO') + compute_CToken_965 = sp.local("compute_CToken_965", (params * self.data.expScale) // excRate.value) + amount.value = compute_CToken_965.value + sp.else: + sp.set_type(excRate.value, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params, sp.TNat) + sp.set_type(excRate.value * params, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value * params), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + compute_CToken_968 = sp.local("compute_CToken_968", (excRate.value * params) // self.data.expScale) + amount.value = compute_CToken_968.value + redeem_amount.value = amount.value + redeem_tokens = sp.local("redeem_tokens", 0) + sp.if True: + excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) + sp.if self.data.totalSupply > 0: + sp.set_type(self.data.totalSupply // 1000000, sp.TNat) + sp.set_type(0, sp.TNat) + sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) + sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) + sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(self.data.totalSupply, sp.TNat) + sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') + sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) + excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply + amount = sp.local("amount", 0) + sp.if True: + sp.set_type(excRate.value, sp.TNat) + sp.set_type(params, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.verify(excRate.value > 0, 'DIVISION_BY_ZERO') + compute_Exponential_277 = sp.local("compute_Exponential_277", params * self.data.expScale) + compute_Exponential_280 = sp.local("compute_Exponential_280", compute_Exponential_277.value // excRate.value) + sp.if (compute_Exponential_277.value % excRate.value) > 0: + pass + compute_CToken_976 = sp.local("compute_CToken_976", compute_Exponential_280.value + 1) + amount.value = compute_CToken_976.value + sp.else: + sp.set_type(excRate.value, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params, sp.TNat) + sp.set_type(excRate.value * params, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value * params), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + compute_CToken_979 = sp.local("compute_CToken_979", (excRate.value * params) // self.data.expScale) + amount.value = compute_CToken_979.value + redeem_tokens.value = amount.value + sp.else: + redeem_tokens.value = params + sp.if (redeem_amount.value > 0) & (redeem_tokens.value > 0): + sp.verify((self.data.totalSupply // 1000000) >= redeem_amount.value, 'CT_INSUFFICIENT_CASH') + sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') + self.data.totalSupply = sp.as_nat(self.data.totalSupply - redeem_tokens.value, message = 'Insufficient supply') + self.data.ledger[sp.sender].balance = sp.as_nat(self.data.ledger[sp.sender].balance - redeem_tokens.value, message = 'Insufficient balance') + + @sp.entrypoint + def reduceReserves(self, params): + sp.set_type(params, sp.TNat) + sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') + sp.verify(sp.len(self.data.activeOperations) == 0, 'OP_IN_PROGRESS') + self.data.activeOperations.add(12) + sp.transfer(sp.unit, sp.tez(0), sp.self_entrypoint('accrueInterest')) + sp.transfer(params, sp.amount, sp.self_entrypoint('reduceReservesInternal')) + + @sp.entrypoint + def reduceReservesInternal(self, params): + sp.verify(sp.sender == sp.self_address, 'CT_INTERNAL_FUNCTION') + sp.verify(self.data.activeOperations.contains(12), 'OP_NOT_ACTIVE') + self.data.activeOperations.remove(12) + sp.verify((self.data.totalSupply // 1000000) >= params, 'CT_INSUFFICIENT_CASH') + sp.verify(params <= self.data.totalReserves, 'CT_REDUCE_AMOUNT') + sp.set_type(self.data.totalReserves, sp.TNat) + sp.set_type(params, sp.TNat) + self.data.totalReserves = sp.as_nat(self.data.totalReserves - params, message = 'SUBTRACTION_UNDERFLOW') + + @sp.entrypoint + def removePendingGovernance(self, params): + sp.set_type(params, sp.TUnit) + sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') + self.data.pendingAdministrator = sp.none + + @sp.entrypoint + def repayBorrow(self, params): + sp.set_type(params, sp.TNat) + sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') + sp.if ~ (self.data.ledger.contains(sp.sender)): + self.data.ledger[sp.sender] = sp.record(approvals = {}, balance = 0) + sp.if ~ (self.data.borrows.contains(sp.sender)): + self.data.borrows[sp.sender] = sp.record(interestIndex = 0, principal = 0) + sp.transfer(sp.record(borrower = sp.sender, cToken = sp.self_address, payer = sp.sender, repayAmount = params), sp.tez(0), sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), self.data.comptroller, entrypoint='repayBorrowAllowed').open_some()) + sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') + borrowBalance = sp.local("borrowBalance", 0) + sp.if self.data.borrows.contains(sp.sender): + borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[sp.sender]) + sp.if borrowSnapshot.value.principal > 0: + borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex + sp.set_type(borrowBalance.value, sp.TNat) + sp.set_type(sp.min(borrowBalance.value, params), sp.TNat) + self.data.borrows[sp.sender].principal = sp.as_nat(borrowBalance.value - sp.min(borrowBalance.value, params), message = 'SUBTRACTION_UNDERFLOW') + self.data.borrows[sp.sender].interestIndex = self.data.borrowIndex + sp.set_type(self.data.totalBorrows, sp.TNat) + sp.set_type(sp.min(borrowBalance.value, params), sp.TNat) + self.data.totalBorrows = sp.as_nat(self.data.totalBorrows - sp.min(borrowBalance.value, params), message = 'SUBTRACTION_UNDERFLOW') + sp.if self.data.borrows[sp.sender].principal == 0: + sp.transfer(sp.sender, sp.tez(0), sp.contract(sp.TAddress, self.data.comptroller, entrypoint='removeFromLoans').open_some()) + + @sp.entrypoint + def repayBorrowBehalf(self, params): + sp.set_type(params, sp.TRecord(borrower = sp.TAddress, repayAmount = sp.TNat).layout(("borrower", "repayAmount"))) + sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') + sp.if ~ (self.data.ledger.contains(sp.sender)): + self.data.ledger[sp.sender] = sp.record(approvals = {}, balance = 0) + sp.if ~ (self.data.borrows.contains(sp.sender)): + self.data.borrows[sp.sender] = sp.record(interestIndex = 0, principal = 0) + sp.transfer(sp.record(borrower = params.borrower, cToken = sp.self_address, payer = sp.sender, repayAmount = params.repayAmount), sp.tez(0), sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), self.data.comptroller, entrypoint='repayBorrowAllowed').open_some()) + sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') + borrowBalance = sp.local("borrowBalance", 0) + sp.if self.data.borrows.contains(params.borrower): + borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[params.borrower]) + sp.if borrowSnapshot.value.principal > 0: + borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex + sp.set_type(borrowBalance.value, sp.TNat) + sp.set_type(sp.min(borrowBalance.value, params.repayAmount), sp.TNat) + self.data.borrows[params.borrower].principal = sp.as_nat(borrowBalance.value - sp.min(borrowBalance.value, params.repayAmount), message = 'SUBTRACTION_UNDERFLOW') + self.data.borrows[params.borrower].interestIndex = self.data.borrowIndex + sp.set_type(self.data.totalBorrows, sp.TNat) + sp.set_type(sp.min(borrowBalance.value, params.repayAmount), sp.TNat) + self.data.totalBorrows = sp.as_nat(self.data.totalBorrows - sp.min(borrowBalance.value, params.repayAmount), message = 'SUBTRACTION_UNDERFLOW') + sp.if self.data.borrows[params.borrower].principal == 0: + sp.transfer(params.borrower, sp.tez(0), sp.contract(sp.TAddress, self.data.comptroller, entrypoint='removeFromLoans').open_some()) + + @sp.entrypoint + def seize(self, params): + sp.set_type(params, sp.TRecord(borrower = sp.TAddress, liquidator = sp.TAddress, seizeTokens = sp.TNat).layout(("borrower", ("liquidator", "seizeTokens")))) + sp.if ~ (self.data.ledger.contains(params.liquidator)): + self.data.ledger[params.liquidator] = sp.record(approvals = {}, balance = 0) + sp.if ~ (self.data.borrows.contains(params.liquidator)): + self.data.borrows[params.liquidator] = sp.record(interestIndex = 0, principal = 0) + sp.verify(sp.view("seizeAllowed", sp.record(cTokenBorrowed = sp.sender, cTokenCollateral = sp.self_address), self.data.comptroller, sp.TBool).open_some(message = 'INVALID SEIZE ALLOWED VIEW'), 'CT_LIQUIDATE_SEIZE_COMPTROLLER_REJECTION') + sp.verify(params.borrower != params.liquidator, 'CT_LIQUIDATE_SEIZE_LIQUIDATOR_IS_BORROWER') + sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') + sp.set_type(self.data.ledger[params.borrower].balance, sp.TNat) + sp.set_type(params.seizeTokens, sp.TNat) + sp.set_type(self.data.protocolSeizeShareMantissa, sp.TNat) + sp.set_type(params.seizeTokens, sp.TNat) + sp.set_type(sp.record(mantissa = self.data.protocolSeizeShareMantissa), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + protocolSeizeTokens = sp.local("protocolSeizeTokens", (params.seizeTokens * self.data.protocolSeizeShareMantissa) // self.data.expScale) + sp.set_type(params.seizeTokens, sp.TNat) + sp.set_type(protocolSeizeTokens.value, sp.TNat) + excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) + sp.if self.data.totalSupply > 0: + sp.set_type(self.data.totalSupply // 1000000, sp.TNat) + sp.set_type(0, sp.TNat) + sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) + sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) + sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(self.data.totalSupply, sp.TNat) + sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') + sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) + excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply + sp.set_type(excRate.value, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(protocolSeizeTokens.value, sp.TNat) + sp.set_type(excRate.value * protocolSeizeTokens.value, sp.TNat) + sp.set_type(sp.record(mantissa = excRate.value * protocolSeizeTokens.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(self.data.totalReserves, sp.TNat) + sp.set_type((excRate.value * protocolSeizeTokens.value) // self.data.expScale, sp.TNat) + sp.set_type(self.data.totalSupply, sp.TNat) + sp.set_type(protocolSeizeTokens.value, sp.TNat) + sp.set_type(self.data.ledger[params.liquidator].balance, sp.TNat) + sp.set_type(sp.as_nat(params.seizeTokens - protocolSeizeTokens.value, message = 'SUBTRACTION_UNDERFLOW'), sp.TNat) + self.data.totalReserves += (excRate.value * protocolSeizeTokens.value) // self.data.expScale + self.data.totalSupply = sp.as_nat(self.data.totalSupply - protocolSeizeTokens.value, message = 'SUBTRACTION_UNDERFLOW') + self.data.ledger[params.borrower].balance = sp.as_nat(self.data.ledger[params.borrower].balance - params.seizeTokens, message = 'SUBTRACTION_UNDERFLOW') + self.data.ledger[params.liquidator].balance += sp.as_nat(params.seizeTokens - protocolSeizeTokens.value, message = 'SUBTRACTION_UNDERFLOW') + + @sp.entrypoint + def setAccountSnapshot(self, params): + sp.set_type(params, sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa")))) + self.data.accCTokenBalance = params.cTokenBalance + self.data.accBorrowBalance = params.borrowBalance + self.data.accExchangeRateMantissa = params.exchangeRateMantissa + + @sp.entrypoint + def setActiveOp(self, params): + sp.set_type(params, sp.TNat) + self.data.activeOperations.add(params) + + @sp.entrypoint + def setComptroller(self, params): + sp.set_type(params, sp.TAddress) + sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') + self.data.comptroller = params + + @sp.entrypoint + def setInterestRateModel(self, params): + sp.set_type(params, sp.TAddress) + sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') + sp.verify(sp.len(self.data.activeOperations) == 0, 'OP_IN_PROGRESS') + self.data.activeOperations.add(9) + sp.transfer(sp.unit, sp.tez(0), sp.self_entrypoint('accrueInterest')) + sp.transfer(params, sp.tez(0), sp.self_entrypoint('setInterestRateModelInternal')) + + @sp.entrypoint + def setInterestRateModelInternal(self, params): + sp.set_type(params, sp.TAddress) + sp.verify(sp.sender == sp.self_address, 'CT_INTERNAL_FUNCTION') + sp.verify(self.data.activeOperations.contains(9), 'OP_NOT_ACTIVE') + self.data.activeOperations.remove(9) + self.data.interestRateModel = params + + @sp.entrypoint + def setPendingGovernance(self, params): + sp.set_type(params, sp.TAddress) + sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') + self.data.pendingAdministrator = sp.some(params) + + @sp.entrypoint + def setReserveFactor(self, params): + sp.set_type(params, sp.TNat) + sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') + sp.verify(sp.len(self.data.activeOperations) == 0, 'OP_IN_PROGRESS') + self.data.activeOperations.add(10) + sp.transfer(sp.unit, sp.tez(0), sp.self_entrypoint('accrueInterest')) + sp.transfer(params, sp.tez(0), sp.self_entrypoint('setReserveFactorInternal')) + + @sp.entrypoint + def setReserveFactorInternal(self, params): + sp.verify(sp.sender == sp.self_address, 'CT_INTERNAL_FUNCTION') + sp.verify(self.data.activeOperations.contains(10), 'OP_NOT_ACTIVE') + self.data.activeOperations.remove(10) + sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') + sp.verify(params <= self.data.reserveFactorMaxMantissa, 'CT_INVALID_RESERVE_FACTOR') + self.data.reserveFactorMantissa = params + + @sp.entrypoint + def sweepFA12(self, params): + sp.set_type(params, sp.TRecord(amount = sp.TNat, tokenAddress = sp.TAddress).layout(("amount", "tokenAddress"))) + sp.transfer(sp.record(from_ = sp.self_address, to_ = self.data.administrator, value = params.amount), sp.tez(0), sp.contract(sp.TRecord(from_ = sp.TAddress, to_ = sp.TAddress, value = sp.TNat).layout(("from_ as from", ("to_ as to", "value"))), params.tokenAddress, entrypoint='transfer').open_some()) + + @sp.entrypoint + def sweepFA2(self, params): + sp.set_type(params, sp.TRecord(amount = sp.TNat, id = sp.TNat, tokenAddress = sp.TAddress).layout(("amount", ("id", "tokenAddress")))) + sp.transfer(sp.list([sp.record(from_ = sp.self_address, txs = sp.list([sp.record(amount = params.amount, to_ = self.data.administrator, token_id = params.id)]))]), sp.tez(0), sp.contract(sp.TList(sp.TRecord(from_ = sp.TAddress, txs = sp.TList(sp.TRecord(amount = sp.TNat, to_ = sp.TAddress, token_id = sp.TNat).layout(("to_", ("token_id", "amount"))))).layout(("from_", "txs"))), params.tokenAddress, entrypoint='transfer').open_some()) + + @sp.entrypoint + def sweepMutez(self, params): + sp.set_type(params, sp.TBool) + sp.if params: + sp.send(self.data.administrator, sp.balance) + sp.else: + sp.send(self.data.administrator, sp.balance) + + @sp.entrypoint + def transfer(self, params): + sp.set_type(params, sp.TRecord(from_ = sp.TAddress, to_ = sp.TAddress, value = sp.TNat).layout(("from_ as from", ("to_ as to", "value")))) + sp.verify((params.from_ == sp.sender) | (self.data.ledger[params.from_].approvals[sp.sender] >= params.value), 'FA1.2_NotAllowed') + sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') + sp.if ~ (self.data.ledger.contains(params.to_)): + self.data.ledger[params.to_] = sp.record(approvals = {}, balance = 0) + sp.if ~ (self.data.borrows.contains(params.to_)): + self.data.borrows[params.to_] = sp.record(interestIndex = 0, principal = 0) + sp.transfer(sp.record(cToken = sp.self_address, dst = params.to_, src = params.from_, transferTokens = params.value), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, dst = sp.TAddress, src = sp.TAddress, transferTokens = sp.TNat).layout((("cToken", "src"), ("dst", "transferTokens"))), self.data.comptroller, entrypoint='transferAllowed').open_some()) + sp.set_type(sp.record(from_ = params.from_, sender = sp.sender, to_ = params.to_, value = params.value), sp.TRecord(from_ = sp.TAddress, sender = sp.TAddress, to_ = sp.TAddress, value = sp.TNat).layout((("from_", "sender"), ("to_", "value")))) + sp.verify(self.data.ledger[params.from_].balance >= params.value, 'FA1.2_InsufficientBalance') + self.data.ledger[params.from_].balance = sp.as_nat(self.data.ledger[params.from_].balance - params.value) + self.data.ledger[params.to_].balance += params.value + sp.if params.from_ != sp.sender: + self.data.ledger[params.from_].approvals[sp.sender] = sp.as_nat(self.data.ledger[params.from_].approvals[sp.sender] - params.value) + sp.if self.data.ledger[params.from_].approvals[sp.sender] == 0: + del self.data.ledger[params.from_].approvals[sp.sender] + + @sp.entrypoint + def updateAccountSnapshot(self, params): + sp.transfer((params, sp.self_entrypoint('setAccountSnapshot')), sp.tez(0), sp.self_entrypoint('getAccountSnapshot')) + + @sp.entrypoint + def updateMetadata(self, params): + sp.set_type(params, sp.TRecord(key = sp.TString, value = sp.TBytes).layout(("key", "value"))) + sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') + self.data.metadata[params.key] = params.value + + @sp.entrypoint + def updateProtocolSeizeShare(self, params): + sp.set_type(params, sp.TNat) + sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') + self.data.protocolSeizeShareMantissa = params + +sp.add_compilation_target("test", Contract()) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_009_cont_3_contract.py.html b/TezFinTest/CToken_Tests/step_009_cont_3_contract.py.html new file mode 100644 index 00000000..5dae9622 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_009_cont_3_contract.py.html @@ -0,0 +1,2618 @@ +

    Balance: 0.000000tz

    +

    Storage:

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    AccBorrowBalanceAccCTokenBalanceAccExchangeRateMantissaAccrualBlockNumberActiveOperationsAdministratorBorrowIndexBorrowRateMaxMantissaBorrowRatePerBlockBorrowsComptrollerExpScaleHalfExpScaleInitialExchangeRateMantissaInterestRateModelLedgerMetadataPendingAdministratorProtocolSeizeShareMantissaReserveFactorMantissaReserveFactorMaxMantissaSupplyRatePerBlockToken_metadataTotalBorrowsTotalReservesTotalSupply
    tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5 + +
    KeyInterestIndexPrincipal
    KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eFKT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H + +
    KeyApprovalsBalance
    + +
    KeyValue
    ''0x74657a6f732d73746f726167653a64617461
    'data'0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d
    + +
    KeyToken_idToken_info
    + + +
    KeyValue
    'decimals'0x78
    'name'0x436f6d706f756e6420746f6b656e
    'symbol'0x63546f6b656e
    +

    Code:

    +import smartpy as sp +
    +
    class Contract(sp.Contract): +
    def __init__(self):
      self.init_type(sp.TRecord(accBorrowBalance = sp.TNat, accCTokenBalance = sp.TNat, accExchangeRateMantissa = sp.TNat, accrualBlockNumber = sp.TNat, activeOperations = sp.TSet(sp.TNat), administrator = sp.TAddress, borrowIndex = sp.TNat, borrowRateMaxMantissa = sp.TNat, borrowRatePerBlock = sp.TNat, borrows = sp.TBigMap(sp.TAddress, sp.TRecord(interestIndex = sp.TNat, principal = sp.TNat).layout(("interestIndex", "principal"))), comptroller = sp.TAddress, expScale = sp.TNat, halfExpScale = sp.TNat, initialExchangeRateMantissa = sp.TNat, interestRateModel = sp.TAddress, ledger = sp.TBigMap(sp.TAddress, sp.TRecord(approvals = sp.TMap(sp.TAddress, sp.TNat), balance = sp.TNat).layout(("approvals", "balance"))), metadata = sp.TBigMap(sp.TString, sp.TBytes), pendingAdministrator = sp.TOption(sp.TAddress), protocolSeizeShareMantissa = sp.TNat, reserveFactorMantissa = sp.TNat, reserveFactorMaxMantissa = sp.TNat, supplyRatePerBlock = sp.TNat, token_metadata = sp.TBigMap(sp.TNat, sp.TRecord(token_id = sp.TNat, token_info = sp.TMap(sp.TString, sp.TBytes)).layout(("token_id", "token_info"))), totalBorrows = sp.TNat, totalReserves = sp.TNat, totalSupply = sp.TNat).layout((((("accBorrowBalance", ("accCTokenBalance", "accExchangeRateMantissa")), ("accrualBlockNumber", ("activeOperations", "administrator"))), (("borrowIndex", ("borrowRateMaxMantissa", "borrowRatePerBlock")), (("borrows", "comptroller"), ("expScale", "halfExpScale")))), ((("initialExchangeRateMantissa", ("interestRateModel", "ledger")), ("metadata", ("pendingAdministrator", "protocolSeizeShareMantissa"))), (("reserveFactorMantissa", ("reserveFactorMaxMantissa", "supplyRatePerBlock")), (("token_metadata", "totalBorrows"), ("totalReserves", "totalSupply")))))))
    +
      self.init(accBorrowBalance = 0,
                accCTokenBalance = 0,
                accExchangeRateMantissa = 0,
                accrualBlockNumber = 0,
                activeOperations = sp.set([]),
                administrator = sp.address('tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5'),
                borrowIndex = 1000000000000000000,
                borrowRateMaxMantissa = 800000000000,
                borrowRatePerBlock = 0,
                borrows = {},
                comptroller = sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF'),
                expScale = 1000000000000000000,
                halfExpScale = 500000000000000000,
                initialExchangeRateMantissa = 1000000000000,
                interestRateModel = sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H'),
                ledger = {},
                metadata = {'' : sp.bytes('0x74657a6f732d73746f726167653a64617461'), 'data' : sp.bytes('0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d')},
                pendingAdministrator = sp.none,
                protocolSeizeShareMantissa = 100000000000000,
                reserveFactorMantissa = 50000000000000000,
                reserveFactorMaxMantissa = 1000000000000000000,
                supplyRatePerBlock = 0,
                token_metadata = {0 : sp.record(token_id = 0, token_info = {'decimals' : sp.bytes('0x78'), 'name' : sp.bytes('0x436f6d706f756e6420746f6b656e'), 'symbol' : sp.bytes('0x63546f6b656e')})},
                totalBorrows = 0,
                totalReserves = 0,
                totalSupply = 0)

    +
    + @sp.entrypoint +
    def acceptGovernance(self, params):
      sp.set_type(params, sp.TUnit) +
      sp.verify(sp.sender == self.data.pendingAdministrator.open_some(message = 'CT_NOT_SET_PENDING_ADMIN'), 'CT_NOT_PENDING_ADMIN') +
      self.data.administrator = self.data.pendingAdministrator.open_some() +
      self.data.pendingAdministrator = sp.none
    +
    + @sp.entrypoint +
    def accrueInterest(self, params):
      sp.set_type(params, sp.TUnit) +
      sp.if sp.level != self.data.accrualBlockNumber: +
        sp.if self.data.accrualBlockNumber == 0: +
          self.data.accrualBlockNumber = sp.level +
        sp.else: +
          self.data.activeOperations.add(8) +
          sp.transfer(sp.self_entrypoint('doAccrueInterest'), sp.tez(0), sp.contract(sp.TContract(sp.TNat), sp.self_address, entrypoint='accrueInterestInternal').open_some())
    +
    + @sp.entrypoint +
    def accrueInterestInternal(self, params):
      sp.set_type(params, sp.TContract(sp.TNat)) +
      sp.verify(sp.sender == sp.self_address, 'CT_INTERNAL_FUNCTION') +
      sp.transfer(sp.record(borrows = self.data.totalBorrows, cash = self.data.totalSupply // 1000000, cb = params, reserves = self.data.totalReserves), sp.tez(0), sp.contract(sp.TRecord(borrows = sp.TNat, cash = sp.TNat, cb = sp.TContract(sp.TNat), reserves = sp.TNat).layout((("borrows", "cash"), ("cb", "reserves"))), self.data.interestRateModel, entrypoint='getBorrowRate').open_some())
    +
    + @sp.entrypoint +
    def addReserves(self, params):
      sp.set_type(params, sp.TNat) +
      sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') +
      sp.verify(sp.len(self.data.activeOperations) == 0, 'OP_IN_PROGRESS') +
      self.data.activeOperations.add(11) +
      sp.transfer(sp.unit, sp.tez(0), sp.self_entrypoint('accrueInterest')) +
      sp.transfer(sp.record(addAmount = params, originalSender = sp.sender), sp.amount, sp.self_entrypoint('addReservesInternal'))
    +
    + @sp.entrypoint +
    def addReservesInternal(self, params):
      sp.verify(sp.sender == sp.self_address, 'CT_INTERNAL_FUNCTION') +
      sp.verify(self.data.activeOperations.contains(11), 'OP_NOT_ACTIVE') +
      self.data.activeOperations.remove(11) +
      sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') +
      self.data.totalReserves += params.addAmount
    +
    + @sp.entrypoint +
    def approve(self, params):
      sp.set_type(params, sp.TRecord(spender = sp.TAddress, value = sp.TNat).layout(("spender", "value"))) +
      sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') +
      sp.verify((self.data.ledger[sp.sender].approvals.contains(params.spender)) | (sp.len(self.data.ledger[sp.sender].approvals) < 1000), 'FA1.2_MaxApprovalsReached') +
      sp.verify((self.data.ledger[sp.sender].approvals.get(params.spender, default_value = 0) == 0) | (params.value == 0), 'FA1.2_UnsafeAllowanceChange') +
      sp.if params.value == 0: +
        del self.data.ledger[sp.sender].approvals[params.spender] +
      sp.else: +
        self.data.ledger[sp.sender].approvals[params.spender] = params.value
    +
    + @sp.entrypoint +
    def borrow(self, params):
      sp.set_type(params, sp.TNat) +
      sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') +
      sp.if ~ (self.data.ledger.contains(sp.sender)): +
        self.data.ledger[sp.sender] = sp.record(approvals = {}, balance = 0) +
      sp.if ~ (self.data.borrows.contains(sp.sender)): +
        self.data.borrows[sp.sender] = sp.record(interestIndex = 0, principal = 0) +
      sp.transfer(sp.record(borrowAmount = params, borrower = sp.sender, cToken = sp.self_address), sp.tez(0), sp.contract(sp.TRecord(borrowAmount = sp.TNat, borrower = sp.TAddress, cToken = sp.TAddress).layout(("cToken", ("borrower", "borrowAmount"))), self.data.comptroller, entrypoint='borrowAllowed').open_some()) +
      sp.verify((self.data.totalSupply // 1000000) >= params, 'CT_INSUFFICIENT_CASH') +
      sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') +
      borrowBalance = sp.local("borrowBalance", 0) +
      sp.if self.data.borrows.contains(sp.sender): +
        borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[sp.sender]) +
        sp.if borrowSnapshot.value.principal > 0: +
          borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex +
      self.data.borrows[sp.sender].principal = borrowBalance.value + params +
      self.data.borrows[sp.sender].interestIndex = self.data.borrowIndex +
      self.data.totalBorrows += params
    +
    + @sp.entrypoint +
    def borrowBalanceStored(self, params):
      __s1 = sp.bind_block("__s1"): +
      with __s1: +
        sp.set_type(sp.fst(params), sp.TAddress) +
        borrowBalance = sp.local("borrowBalance", 0) +
        sp.if self.data.borrows.contains(sp.fst(params)): +
          borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[sp.fst(params)]) +
          sp.if borrowSnapshot.value.principal > 0: +
            borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex +
        sp.result(borrowBalance.value) +
      sp.set_type(sp.snd(params), sp.TContract(sp.TNat)) +
      sp.transfer(__s1.value, sp.tez(0), sp.snd(params))
    +
    + @sp.entrypoint +
    def doAccrueInterest(self, params):
      sp.set_type(params, sp.TNat) +
      sp.verify(sp.sender == self.data.interestRateModel, 'CT_SENDER_NOT_IRM') +
      sp.verify(self.data.activeOperations.contains(8), 'OP_NOT_ACTIVE') +
      self.data.activeOperations.remove(8) +
      sp.verify(params <= self.data.borrowRateMaxMantissa, 'CT_INVALID_BORROW_RATE') +
      sp.set_type(params, sp.TNat) +
      sp.set_type(sp.record(mantissa = params), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(sp.as_nat(sp.level - self.data.accrualBlockNumber), sp.TNat) +
      sp.set_type(params * sp.as_nat(sp.level - self.data.accrualBlockNumber), sp.TNat) +
      compute_CToken_761 = sp.local("compute_CToken_761", sp.record(mantissa = params * sp.as_nat(sp.level - self.data.accrualBlockNumber))) +
      sp.set_type(compute_CToken_761.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(compute_CToken_761.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(self.data.totalBorrows, sp.TNat) +
      sp.set_type(compute_CToken_761.value.mantissa * self.data.totalBorrows, sp.TNat) +
      sp.set_type(sp.record(mantissa = compute_CToken_761.value.mantissa * self.data.totalBorrows), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      compute_CToken_763 = sp.local("compute_CToken_763", (compute_CToken_761.value.mantissa * self.data.totalBorrows) // self.data.expScale) +
      self.data.totalBorrows = compute_CToken_763.value + self.data.totalBorrows +
      sp.set_type(sp.record(mantissa = self.data.reserveFactorMantissa), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(compute_CToken_763.value, sp.TNat) +
      sp.set_type(self.data.totalReserves, sp.TNat) +
      sp.set_type(sp.record(mantissa = self.data.reserveFactorMantissa), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(sp.record(mantissa = self.data.reserveFactorMantissa), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(compute_CToken_763.value, sp.TNat) +
      sp.set_type(self.data.reserveFactorMantissa * compute_CToken_763.value, sp.TNat) +
      sp.set_type(sp.record(mantissa = self.data.reserveFactorMantissa * compute_CToken_763.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      self.data.totalReserves = ((self.data.reserveFactorMantissa * compute_CToken_763.value) // self.data.expScale) + self.data.totalReserves +
      sp.set_type(compute_CToken_761.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(self.data.borrowIndex, sp.TNat) +
      sp.set_type(self.data.borrowIndex, sp.TNat) +
      sp.set_type(compute_CToken_761.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(compute_CToken_761.value, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(self.data.borrowIndex, sp.TNat) +
      sp.set_type(compute_CToken_761.value.mantissa * self.data.borrowIndex, sp.TNat) +
      sp.set_type(sp.record(mantissa = compute_CToken_761.value.mantissa * self.data.borrowIndex), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      self.data.borrowIndex = ((compute_CToken_761.value.mantissa * self.data.borrowIndex) // self.data.expScale) + self.data.borrowIndex +
      self.data.accrualBlockNumber = sp.level
    +
    + @sp.entrypoint +
    def exchangeRateStored(self, params):
      __s2 = sp.bind_block("__s2"): +
      with __s2: +
        sp.set_type(sp.fst(params), sp.TUnit) +
        excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) +
        sp.if self.data.totalSupply > 0: +
          sp.set_type(self.data.totalSupply // 1000000, sp.TNat) +
          sp.set_type(0, sp.TNat) +
          sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) +
          sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) +
          sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.set_type(self.data.totalSupply, sp.TNat) +
          sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') +
          sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) +
          excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply +
        sp.result(excRate.value) +
      sp.set_type(sp.snd(params), sp.TContract(sp.TNat)) +
      sp.transfer(__s2.value, sp.tez(0), sp.snd(params))
    +
    + @sp.entrypoint +
    def getAccountSnapshot(self, params):
      __s3 = sp.bind_block("__s3"): +
      with __s3: +
        compute_CToken_565 = sp.local("compute_CToken_565", sp.record(account = sp.fst(params), borrowBalance = 0, cTokenBalance = 0, exchangeRateMantissa = 0)) +
        sp.if self.data.ledger.contains(sp.fst(params)): +
          sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') +
          compute_CToken_565.value.cTokenBalance = self.data.ledger[sp.fst(params)].balance +
          borrowBalance = sp.local("borrowBalance", 0) +
          sp.if self.data.borrows.contains(sp.fst(params)): +
            borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[sp.fst(params)]) +
            sp.if borrowSnapshot.value.principal > 0: +
              borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex +
          compute_CToken_565.value.borrowBalance = borrowBalance.value +
          excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) +
          sp.if self.data.totalSupply > 0: +
            sp.set_type(self.data.totalSupply // 1000000, sp.TNat) +
            sp.set_type(0, sp.TNat) +
            sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) +
            sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) +
            sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
            sp.set_type(self.data.totalSupply, sp.TNat) +
            sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') +
            sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) +
            excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply +
          compute_CToken_565.value.exchangeRateMantissa = excRate.value +
        sp.result(compute_CToken_565.value) +
      sp.set_type(sp.snd(params), sp.TContract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))))) +
      sp.transfer(__s3.value, sp.tez(0), sp.snd(params))
    +
    + @sp.entrypoint +
    def getAllowance(self, params):
      __s4 = sp.bind_block("__s4"): +
      with __s4: +
        result = sp.local("result", 0) +
        sp.if self.data.ledger.contains(sp.fst(params).owner): +
          sp.if self.data.ledger[sp.fst(params).owner].approvals.contains(sp.fst(params).spender): +
            result.value = self.data.ledger[sp.fst(params).owner].approvals[sp.fst(params).spender] +
        sp.result(result.value) +
      sp.set_type(sp.snd(params), sp.TContract(sp.TNat)) +
      sp.transfer(__s4.value, sp.tez(0), sp.snd(params))
    +
    + @sp.entrypoint +
    def getBalance(self, params):
      __s5 = sp.bind_block("__s5"): +
      with __s5: +
        result = sp.local("result", 0) +
        sp.if self.data.ledger.contains(sp.fst(params)): +
          result.value = self.data.ledger[sp.fst(params)].balance +
        sp.result(result.value) +
      sp.set_type(sp.snd(params), sp.TContract(sp.TNat)) +
      sp.transfer(__s5.value, sp.tez(0), sp.snd(params))
    +
    + @sp.entrypoint +
    def getBalanceOfUnderlying(self, params):
      __s6 = sp.bind_block("__s6"): +
      with __s6: +
        sp.set_type(sp.fst(params), sp.TAddress) +
        excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) +
        sp.if self.data.totalSupply > 0: +
          sp.set_type(self.data.totalSupply // 1000000, sp.TNat) +
          sp.set_type(0, sp.TNat) +
          sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) +
          sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) +
          sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.set_type(self.data.totalSupply, sp.TNat) +
          sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') +
          sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) +
          excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply +
        sp.set_type(excRate.value, sp.TNat) +
        sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
        sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
        sp.set_type(self.data.ledger[sp.fst(params)].balance, sp.TNat) +
        sp.set_type(excRate.value * self.data.ledger[sp.fst(params)].balance, sp.TNat) +
        sp.set_type(sp.record(mantissa = excRate.value * self.data.ledger[sp.fst(params)].balance), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
        sp.result((excRate.value * self.data.ledger[sp.fst(params)].balance) // self.data.expScale) +
      sp.set_type(sp.snd(params), sp.TContract(sp.TNat)) +
      sp.transfer(__s6.value, sp.tez(0), sp.snd(params))
    +
    + @sp.entrypoint +
    def getCash(self, params):
      __s7 = sp.bind_block("__s7"): +
      with __s7: +
        sp.set_type(sp.fst(params), sp.TUnit) +
        sp.result(self.data.totalSupply // 1000000) +
      sp.set_type(sp.snd(params), sp.TContract(sp.TNat)) +
      sp.transfer(__s7.value, sp.tez(0), sp.snd(params))
    +
    + @sp.entrypoint +
    def getTotalSupply(self, params):
      __s8 = sp.bind_block("__s8"): +
      with __s8: +
        sp.set_type(sp.fst(params), sp.TUnit) +
        sp.result(self.data.totalSupply) +
      sp.set_type(sp.snd(params), sp.TContract(sp.TNat)) +
      sp.transfer(__s8.value, sp.tez(0), sp.snd(params))
    +
    + @sp.entrypoint +
    def hardResetOp(self, params):
      sp.set_type(params, sp.TUnit) +
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') +
      self.data.activeOperations = sp.set([])
    +
    + @sp.entrypoint +
    def liquidateBorrow(self, params):
      sp.set_type(params, sp.TRecord(borrower = sp.TAddress, cTokenCollateral = sp.TAddress, repayAmount = sp.TNat).layout(("borrower", ("cTokenCollateral", "repayAmount")))) +
      sp.transfer(sp.record(borrower = params.borrower, cTokenBorrowed = sp.self_address, cTokenCollateral = params.cTokenCollateral, liquidator = sp.sender, repayAmount = params.repayAmount), sp.tez(0), sp.contract(sp.TRecord(borrower = sp.TAddress, cTokenBorrowed = sp.TAddress, cTokenCollateral = sp.TAddress, liquidator = sp.TAddress, repayAmount = sp.TNat).layout((("borrower", "cTokenBorrowed"), ("cTokenCollateral", ("liquidator", "repayAmount")))), self.data.comptroller, entrypoint='liquidateBorrowAllowed').open_some()) +
      sp.verify(params.borrower != sp.sender, 'CT_LIQUIDATE_LIQUIDATOR_IS_BORROWER') +
      sp.verify(params.repayAmount > 0, 'CT_LIQUIDATE_CLOSE_AMOUNT_IS_INVALID') +
      sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') +
      borrowBalance = sp.local("borrowBalance", 0) +
      sp.if self.data.borrows.contains(params.borrower): +
        borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[params.borrower]) +
        sp.if borrowSnapshot.value.principal > 0: +
          borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex +
      sp.set_type(borrowBalance.value, sp.TNat) +
      sp.set_type(sp.min(borrowBalance.value, params.repayAmount), sp.TNat) +
      self.data.borrows[params.borrower].principal = sp.as_nat(borrowBalance.value - sp.min(borrowBalance.value, params.repayAmount), message = 'SUBTRACTION_UNDERFLOW') +
      self.data.borrows[params.borrower].interestIndex = self.data.borrowIndex +
      sp.set_type(self.data.totalBorrows, sp.TNat) +
      sp.set_type(sp.min(borrowBalance.value, params.repayAmount), sp.TNat) +
      self.data.totalBorrows = sp.as_nat(self.data.totalBorrows - sp.min(borrowBalance.value, params.repayAmount), message = 'SUBTRACTION_UNDERFLOW') +
      sp.if self.data.borrows[params.borrower].principal == 0: +
        sp.transfer(params.borrower, sp.tez(0), sp.contract(sp.TAddress, self.data.comptroller, entrypoint='removeFromLoans').open_some()) +
      sp.verify(sp.view("balanceOf", params.borrower, params.cTokenCollateral, sp.TNat).open_some(message = 'INVALID BALANCE OF VIEW') >= sp.view("liquidateCalculateSeizeTokens", sp.record(actualRepayAmount = params.repayAmount, cTokenBorrowed = sp.self_address, cTokenCollateral = params.cTokenCollateral), self.data.comptroller, sp.TNat).open_some(message = 'INVALID LIQUIDATE CALC SEIZE TOKEN VIEW'), 'LIQUIDATE_SEIZE_TOO_MUCH') +
      sp.transfer(sp.record(borrower = params.borrower, liquidator = sp.sender, seizeTokens = sp.view("liquidateCalculateSeizeTokens", sp.record(actualRepayAmount = params.repayAmount, cTokenBorrowed = sp.self_address, cTokenCollateral = params.cTokenCollateral), self.data.comptroller, sp.TNat).open_some(message = 'INVALID LIQUIDATE CALC SEIZE TOKEN VIEW')), sp.tez(0), sp.contract(sp.TRecord(borrower = sp.TAddress, liquidator = sp.TAddress, seizeTokens = sp.TNat).layout(("borrower", ("liquidator", "seizeTokens"))), params.cTokenCollateral, entrypoint='seize').open_some())
    +
    + @sp.entrypoint +
    def mint(self, params):
      sp.set_type(params, sp.TNat) +
      sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') +
      sp.if ~ (self.data.ledger.contains(sp.sender)): +
        self.data.ledger[sp.sender] = sp.record(approvals = {}, balance = 0) +
      sp.if ~ (self.data.borrows.contains(sp.sender)): +
        self.data.borrows[sp.sender] = sp.record(interestIndex = 0, principal = 0) +
      sp.transfer(sp.record(cToken = sp.self_address, mintAmount = params, minter = sp.sender), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount"))), self.data.comptroller, entrypoint='mintAllowed').open_some()) +
      sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') +
      excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) +
      sp.if self.data.totalSupply > 0: +
        sp.set_type(self.data.totalSupply // 1000000, sp.TNat) +
        sp.set_type(0, sp.TNat) +
        sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) +
        sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) +
        sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
        sp.set_type(self.data.totalSupply, sp.TNat) +
        sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') +
        sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) +
        excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply +
      amount = sp.local("amount", 0) +
      sp.if True: +
        sp.set_type(excRate.value, sp.TNat) +
        sp.set_type(params, sp.TNat) +
        sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
        sp.verify(excRate.value > 0, 'DIVISION_BY_ZERO') +
        compute_CToken_965 = sp.local("compute_CToken_965", (params * self.data.expScale) // excRate.value) +
        amount.value = compute_CToken_965.value +
      sp.else: +
        sp.set_type(excRate.value, sp.TNat) +
        sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
        sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
        sp.set_type(params, sp.TNat) +
        sp.set_type(excRate.value * params, sp.TNat) +
        sp.set_type(sp.record(mantissa = excRate.value * params), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
        compute_CToken_968 = sp.local("compute_CToken_968", (excRate.value * params) // self.data.expScale) +
        amount.value = compute_CToken_968.value +
      sp.verify(amount.value > 0, 'CT_MINT_AMOUNT_IS_INVALID') +
      self.data.totalSupply += amount.value +
      self.data.ledger[sp.sender].balance += amount.value
    +
    + @sp.entrypoint +
    def redeem(self, params):
      sp.set_type(params, sp.TNat) +
      sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') +
      sp.transfer(sp.record(cToken = sp.self_address, redeemAmount = params, redeemer = sp.sender), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), self.data.comptroller, entrypoint='redeemAllowed').open_some()) +
      redeem_amount = sp.local("redeem_amount", 0) +
      sp.if False: +
        redeem_amount.value = params +
      sp.else: +
        excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) +
        sp.if self.data.totalSupply > 0: +
          sp.set_type(self.data.totalSupply // 1000000, sp.TNat) +
          sp.set_type(0, sp.TNat) +
          sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) +
          sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) +
          sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.set_type(self.data.totalSupply, sp.TNat) +
          sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') +
          sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) +
          excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply +
        amount = sp.local("amount", 0) +
        sp.if False: +
          sp.set_type(excRate.value, sp.TNat) +
          sp.set_type(params, sp.TNat) +
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.verify(excRate.value > 0, 'DIVISION_BY_ZERO') +
          compute_CToken_965 = sp.local("compute_CToken_965", (params * self.data.expScale) // excRate.value) +
          amount.value = compute_CToken_965.value +
        sp.else: +
          sp.set_type(excRate.value, sp.TNat) +
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.set_type(params, sp.TNat) +
          sp.set_type(excRate.value * params, sp.TNat) +
          sp.set_type(sp.record(mantissa = excRate.value * params), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          compute_CToken_968 = sp.local("compute_CToken_968", (excRate.value * params) // self.data.expScale) +
          amount.value = compute_CToken_968.value +
        redeem_amount.value = amount.value +
      redeem_tokens = sp.local("redeem_tokens", 0) +
      sp.if False: +
        excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) +
        sp.if self.data.totalSupply > 0: +
          sp.set_type(self.data.totalSupply // 1000000, sp.TNat) +
          sp.set_type(0, sp.TNat) +
          sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) +
          sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) +
          sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.set_type(self.data.totalSupply, sp.TNat) +
          sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') +
          sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) +
          excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply +
        amount = sp.local("amount", 0) +
        sp.if True: +
          sp.set_type(excRate.value, sp.TNat) +
          sp.set_type(params, sp.TNat) +
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.verify(excRate.value > 0, 'DIVISION_BY_ZERO') +
          compute_Exponential_277 = sp.local("compute_Exponential_277", params * self.data.expScale) +
          compute_Exponential_280 = sp.local("compute_Exponential_280", compute_Exponential_277.value // excRate.value) +
          sp.if (compute_Exponential_277.value % excRate.value) > 0: +
            pass +
          compute_CToken_976 = sp.local("compute_CToken_976", compute_Exponential_280.value + 1) +
          amount.value = compute_CToken_976.value +
        sp.else: +
          sp.set_type(excRate.value, sp.TNat) +
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.set_type(params, sp.TNat) +
          sp.set_type(excRate.value * params, sp.TNat) +
          sp.set_type(sp.record(mantissa = excRate.value * params), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          compute_CToken_979 = sp.local("compute_CToken_979", (excRate.value * params) // self.data.expScale) +
          amount.value = compute_CToken_979.value +
        redeem_tokens.value = amount.value +
      sp.else: +
        redeem_tokens.value = params +
      sp.if (redeem_amount.value > 0) & (redeem_tokens.value > 0): +
        sp.verify((self.data.totalSupply // 1000000) >= redeem_amount.value, 'CT_INSUFFICIENT_CASH') +
        sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') +
        self.data.totalSupply = sp.as_nat(self.data.totalSupply - redeem_tokens.value, message = 'Insufficient supply') +
        self.data.ledger[sp.sender].balance = sp.as_nat(self.data.ledger[sp.sender].balance - redeem_tokens.value, message = 'Insufficient balance')
    +
    + @sp.entrypoint +
    def redeemUnderlying(self, params):
      sp.set_type(params, sp.TNat) +
      sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') +
      sp.transfer(sp.record(cToken = sp.self_address, redeemAmount = params, redeemer = sp.sender), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), self.data.comptroller, entrypoint='redeemAllowed').open_some()) +
      redeem_amount = sp.local("redeem_amount", 0) +
      sp.if True: +
        redeem_amount.value = params +
      sp.else: +
        excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) +
        sp.if self.data.totalSupply > 0: +
          sp.set_type(self.data.totalSupply // 1000000, sp.TNat) +
          sp.set_type(0, sp.TNat) +
          sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) +
          sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) +
          sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.set_type(self.data.totalSupply, sp.TNat) +
          sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') +
          sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) +
          excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply +
        amount = sp.local("amount", 0) +
        sp.if False: +
          sp.set_type(excRate.value, sp.TNat) +
          sp.set_type(params, sp.TNat) +
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.verify(excRate.value > 0, 'DIVISION_BY_ZERO') +
          compute_CToken_965 = sp.local("compute_CToken_965", (params * self.data.expScale) // excRate.value) +
          amount.value = compute_CToken_965.value +
        sp.else: +
          sp.set_type(excRate.value, sp.TNat) +
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.set_type(params, sp.TNat) +
          sp.set_type(excRate.value * params, sp.TNat) +
          sp.set_type(sp.record(mantissa = excRate.value * params), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          compute_CToken_968 = sp.local("compute_CToken_968", (excRate.value * params) // self.data.expScale) +
          amount.value = compute_CToken_968.value +
        redeem_amount.value = amount.value +
      redeem_tokens = sp.local("redeem_tokens", 0) +
      sp.if True: +
        excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) +
        sp.if self.data.totalSupply > 0: +
          sp.set_type(self.data.totalSupply // 1000000, sp.TNat) +
          sp.set_type(0, sp.TNat) +
          sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) +
          sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) +
          sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.set_type(self.data.totalSupply, sp.TNat) +
          sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') +
          sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) +
          excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply +
        amount = sp.local("amount", 0) +
        sp.if True: +
          sp.set_type(excRate.value, sp.TNat) +
          sp.set_type(params, sp.TNat) +
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.verify(excRate.value > 0, 'DIVISION_BY_ZERO') +
          compute_Exponential_277 = sp.local("compute_Exponential_277", params * self.data.expScale) +
          compute_Exponential_280 = sp.local("compute_Exponential_280", compute_Exponential_277.value // excRate.value) +
          sp.if (compute_Exponential_277.value % excRate.value) > 0: +
            pass +
          compute_CToken_976 = sp.local("compute_CToken_976", compute_Exponential_280.value + 1) +
          amount.value = compute_CToken_976.value +
        sp.else: +
          sp.set_type(excRate.value, sp.TNat) +
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          sp.set_type(params, sp.TNat) +
          sp.set_type(excRate.value * params, sp.TNat) +
          sp.set_type(sp.record(mantissa = excRate.value * params), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
          compute_CToken_979 = sp.local("compute_CToken_979", (excRate.value * params) // self.data.expScale) +
          amount.value = compute_CToken_979.value +
        redeem_tokens.value = amount.value +
      sp.else: +
        redeem_tokens.value = params +
      sp.if (redeem_amount.value > 0) & (redeem_tokens.value > 0): +
        sp.verify((self.data.totalSupply // 1000000) >= redeem_amount.value, 'CT_INSUFFICIENT_CASH') +
        sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') +
        self.data.totalSupply = sp.as_nat(self.data.totalSupply - redeem_tokens.value, message = 'Insufficient supply') +
        self.data.ledger[sp.sender].balance = sp.as_nat(self.data.ledger[sp.sender].balance - redeem_tokens.value, message = 'Insufficient balance')
    +
    + @sp.entrypoint +
    def reduceReserves(self, params):
      sp.set_type(params, sp.TNat) +
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') +
      sp.verify(sp.len(self.data.activeOperations) == 0, 'OP_IN_PROGRESS') +
      self.data.activeOperations.add(12) +
      sp.transfer(sp.unit, sp.tez(0), sp.self_entrypoint('accrueInterest')) +
      sp.transfer(params, sp.amount, sp.self_entrypoint('reduceReservesInternal'))
    +
    + @sp.entrypoint +
    def reduceReservesInternal(self, params):
      sp.verify(sp.sender == sp.self_address, 'CT_INTERNAL_FUNCTION') +
      sp.verify(self.data.activeOperations.contains(12), 'OP_NOT_ACTIVE') +
      self.data.activeOperations.remove(12) +
      sp.verify((self.data.totalSupply // 1000000) >= params, 'CT_INSUFFICIENT_CASH') +
      sp.verify(params <= self.data.totalReserves, 'CT_REDUCE_AMOUNT') +
      sp.set_type(self.data.totalReserves, sp.TNat) +
      sp.set_type(params, sp.TNat) +
      self.data.totalReserves = sp.as_nat(self.data.totalReserves - params, message = 'SUBTRACTION_UNDERFLOW')
    +
    + @sp.entrypoint +
    def removePendingGovernance(self, params):
      sp.set_type(params, sp.TUnit) +
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') +
      self.data.pendingAdministrator = sp.none
    +
    + @sp.entrypoint +
    def repayBorrow(self, params):
      sp.set_type(params, sp.TNat) +
      sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') +
      sp.if ~ (self.data.ledger.contains(sp.sender)): +
        self.data.ledger[sp.sender] = sp.record(approvals = {}, balance = 0) +
      sp.if ~ (self.data.borrows.contains(sp.sender)): +
        self.data.borrows[sp.sender] = sp.record(interestIndex = 0, principal = 0) +
      sp.transfer(sp.record(borrower = sp.sender, cToken = sp.self_address, payer = sp.sender, repayAmount = params), sp.tez(0), sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), self.data.comptroller, entrypoint='repayBorrowAllowed').open_some()) +
      sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') +
      borrowBalance = sp.local("borrowBalance", 0) +
      sp.if self.data.borrows.contains(sp.sender): +
        borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[sp.sender]) +
        sp.if borrowSnapshot.value.principal > 0: +
          borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex +
      sp.set_type(borrowBalance.value, sp.TNat) +
      sp.set_type(sp.min(borrowBalance.value, params), sp.TNat) +
      self.data.borrows[sp.sender].principal = sp.as_nat(borrowBalance.value - sp.min(borrowBalance.value, params), message = 'SUBTRACTION_UNDERFLOW') +
      self.data.borrows[sp.sender].interestIndex = self.data.borrowIndex +
      sp.set_type(self.data.totalBorrows, sp.TNat) +
      sp.set_type(sp.min(borrowBalance.value, params), sp.TNat) +
      self.data.totalBorrows = sp.as_nat(self.data.totalBorrows - sp.min(borrowBalance.value, params), message = 'SUBTRACTION_UNDERFLOW') +
      sp.if self.data.borrows[sp.sender].principal == 0: +
        sp.transfer(sp.sender, sp.tez(0), sp.contract(sp.TAddress, self.data.comptroller, entrypoint='removeFromLoans').open_some())
    +
    + @sp.entrypoint +
    def repayBorrowBehalf(self, params):
      sp.set_type(params, sp.TRecord(borrower = sp.TAddress, repayAmount = sp.TNat).layout(("borrower", "repayAmount"))) +
      sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') +
      sp.if ~ (self.data.ledger.contains(sp.sender)): +
        self.data.ledger[sp.sender] = sp.record(approvals = {}, balance = 0) +
      sp.if ~ (self.data.borrows.contains(sp.sender)): +
        self.data.borrows[sp.sender] = sp.record(interestIndex = 0, principal = 0) +
      sp.transfer(sp.record(borrower = params.borrower, cToken = sp.self_address, payer = sp.sender, repayAmount = params.repayAmount), sp.tez(0), sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), self.data.comptroller, entrypoint='repayBorrowAllowed').open_some()) +
      sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') +
      borrowBalance = sp.local("borrowBalance", 0) +
      sp.if self.data.borrows.contains(params.borrower): +
        borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[params.borrower]) +
        sp.if borrowSnapshot.value.principal > 0: +
          borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex +
      sp.set_type(borrowBalance.value, sp.TNat) +
      sp.set_type(sp.min(borrowBalance.value, params.repayAmount), sp.TNat) +
      self.data.borrows[params.borrower].principal = sp.as_nat(borrowBalance.value - sp.min(borrowBalance.value, params.repayAmount), message = 'SUBTRACTION_UNDERFLOW') +
      self.data.borrows[params.borrower].interestIndex = self.data.borrowIndex +
      sp.set_type(self.data.totalBorrows, sp.TNat) +
      sp.set_type(sp.min(borrowBalance.value, params.repayAmount), sp.TNat) +
      self.data.totalBorrows = sp.as_nat(self.data.totalBorrows - sp.min(borrowBalance.value, params.repayAmount), message = 'SUBTRACTION_UNDERFLOW') +
      sp.if self.data.borrows[params.borrower].principal == 0: +
        sp.transfer(params.borrower, sp.tez(0), sp.contract(sp.TAddress, self.data.comptroller, entrypoint='removeFromLoans').open_some())
    +
    + @sp.entrypoint +
    def seize(self, params):
      sp.set_type(params, sp.TRecord(borrower = sp.TAddress, liquidator = sp.TAddress, seizeTokens = sp.TNat).layout(("borrower", ("liquidator", "seizeTokens")))) +
      sp.if ~ (self.data.ledger.contains(params.liquidator)): +
        self.data.ledger[params.liquidator] = sp.record(approvals = {}, balance = 0) +
      sp.if ~ (self.data.borrows.contains(params.liquidator)): +
        self.data.borrows[params.liquidator] = sp.record(interestIndex = 0, principal = 0) +
      sp.verify(sp.view("seizeAllowed", sp.record(cTokenBorrowed = sp.sender, cTokenCollateral = sp.self_address), self.data.comptroller, sp.TBool).open_some(message = 'INVALID SEIZE ALLOWED VIEW'), 'CT_LIQUIDATE_SEIZE_COMPTROLLER_REJECTION') +
      sp.verify(params.borrower != params.liquidator, 'CT_LIQUIDATE_SEIZE_LIQUIDATOR_IS_BORROWER') +
      sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') +
      sp.set_type(self.data.ledger[params.borrower].balance, sp.TNat) +
      sp.set_type(params.seizeTokens, sp.TNat) +
      sp.set_type(self.data.protocolSeizeShareMantissa, sp.TNat) +
      sp.set_type(params.seizeTokens, sp.TNat) +
      sp.set_type(sp.record(mantissa = self.data.protocolSeizeShareMantissa), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      protocolSeizeTokens = sp.local("protocolSeizeTokens", (params.seizeTokens * self.data.protocolSeizeShareMantissa) // self.data.expScale) +
      sp.set_type(params.seizeTokens, sp.TNat) +
      sp.set_type(protocolSeizeTokens.value, sp.TNat) +
      excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) +
      sp.if self.data.totalSupply > 0: +
        sp.set_type(self.data.totalSupply // 1000000, sp.TNat) +
        sp.set_type(0, sp.TNat) +
        sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves), sp.TNat) +
        sp.set_type(sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale, sp.TNat) +
        sp.set_type(sp.record(mantissa = sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
        sp.set_type(self.data.totalSupply, sp.TNat) +
        sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') +
        sp.set_type((sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply, sp.TNat) +
        excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply +
      sp.set_type(excRate.value, sp.TNat) +
      sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(sp.record(mantissa = excRate.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(protocolSeizeTokens.value, sp.TNat) +
      sp.set_type(excRate.value * protocolSeizeTokens.value, sp.TNat) +
      sp.set_type(sp.record(mantissa = excRate.value * protocolSeizeTokens.value), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(self.data.totalReserves, sp.TNat) +
      sp.set_type((excRate.value * protocolSeizeTokens.value) // self.data.expScale, sp.TNat) +
      sp.set_type(self.data.totalSupply, sp.TNat) +
      sp.set_type(protocolSeizeTokens.value, sp.TNat) +
      sp.set_type(self.data.ledger[params.liquidator].balance, sp.TNat) +
      sp.set_type(sp.as_nat(params.seizeTokens - protocolSeizeTokens.value, message = 'SUBTRACTION_UNDERFLOW'), sp.TNat) +
      self.data.totalReserves += (excRate.value * protocolSeizeTokens.value) // self.data.expScale +
      self.data.totalSupply = sp.as_nat(self.data.totalSupply - protocolSeizeTokens.value, message = 'SUBTRACTION_UNDERFLOW') +
      self.data.ledger[params.borrower].balance = sp.as_nat(self.data.ledger[params.borrower].balance - params.seizeTokens, message = 'SUBTRACTION_UNDERFLOW') +
      self.data.ledger[params.liquidator].balance += sp.as_nat(params.seizeTokens - protocolSeizeTokens.value, message = 'SUBTRACTION_UNDERFLOW')
    +
    + @sp.entrypoint +
    def setAccountSnapshot(self, params):
      sp.set_type(params, sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa")))) +
      self.data.accCTokenBalance = params.cTokenBalance +
      self.data.accBorrowBalance = params.borrowBalance +
      self.data.accExchangeRateMantissa = params.exchangeRateMantissa
    +
    + @sp.entrypoint +
    def setActiveOp(self, params):
      sp.set_type(params, sp.TNat) +
      self.data.activeOperations.add(params)
    +
    + @sp.entrypoint +
    def setComptroller(self, params):
      sp.set_type(params, sp.TAddress) +
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') +
      self.data.comptroller = params
    +
    + @sp.entrypoint +
    def setInterestRateModel(self, params):
      sp.set_type(params, sp.TAddress) +
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') +
      sp.verify(sp.len(self.data.activeOperations) == 0, 'OP_IN_PROGRESS') +
      self.data.activeOperations.add(9) +
      sp.transfer(sp.unit, sp.tez(0), sp.self_entrypoint('accrueInterest')) +
      sp.transfer(params, sp.tez(0), sp.self_entrypoint('setInterestRateModelInternal'))
    +
    + @sp.entrypoint +
    def setInterestRateModelInternal(self, params):
      sp.set_type(params, sp.TAddress) +
      sp.verify(sp.sender == sp.self_address, 'CT_INTERNAL_FUNCTION') +
      sp.verify(self.data.activeOperations.contains(9), 'OP_NOT_ACTIVE') +
      self.data.activeOperations.remove(9) +
      self.data.interestRateModel = params
    +
    + @sp.entrypoint +
    def setPendingGovernance(self, params):
      sp.set_type(params, sp.TAddress) +
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') +
      self.data.pendingAdministrator = sp.some(params)
    +
    + @sp.entrypoint +
    def setReserveFactor(self, params):
      sp.set_type(params, sp.TNat) +
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') +
      sp.verify(sp.len(self.data.activeOperations) == 0, 'OP_IN_PROGRESS') +
      self.data.activeOperations.add(10) +
      sp.transfer(sp.unit, sp.tez(0), sp.self_entrypoint('accrueInterest')) +
      sp.transfer(params, sp.tez(0), sp.self_entrypoint('setReserveFactorInternal'))
    +
    + @sp.entrypoint +
    def setReserveFactorInternal(self, params):
      sp.verify(sp.sender == sp.self_address, 'CT_INTERNAL_FUNCTION') +
      sp.verify(self.data.activeOperations.contains(10), 'OP_NOT_ACTIVE') +
      self.data.activeOperations.remove(10) +
      sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') +
      sp.verify(params <= self.data.reserveFactorMaxMantissa, 'CT_INVALID_RESERVE_FACTOR') +
      self.data.reserveFactorMantissa = params
    +
    + @sp.entrypoint +
    def sweepFA12(self, params):
      sp.set_type(params, sp.TRecord(amount = sp.TNat, tokenAddress = sp.TAddress).layout(("amount", "tokenAddress"))) +
      sp.transfer(sp.record(from_ = sp.self_address, to_ = self.data.administrator, value = params.amount), sp.tez(0), sp.contract(sp.TRecord(from_ = sp.TAddress, to_ = sp.TAddress, value = sp.TNat).layout(("from_ as from", ("to_ as to", "value"))), params.tokenAddress, entrypoint='transfer').open_some())
    +
    + @sp.entrypoint +
    def sweepFA2(self, params):
      sp.set_type(params, sp.TRecord(amount = sp.TNat, id = sp.TNat, tokenAddress = sp.TAddress).layout(("amount", ("id", "tokenAddress")))) +
      sp.transfer(sp.list([sp.record(from_ = sp.self_address, txs = sp.list([sp.record(amount = params.amount, to_ = self.data.administrator, token_id = params.id)]))]), sp.tez(0), sp.contract(sp.TList(sp.TRecord(from_ = sp.TAddress, txs = sp.TList(sp.TRecord(amount = sp.TNat, to_ = sp.TAddress, token_id = sp.TNat).layout(("to_", ("token_id", "amount"))))).layout(("from_", "txs"))), params.tokenAddress, entrypoint='transfer').open_some())
    +
    + @sp.entrypoint +
    def sweepMutez(self, params):
      sp.set_type(params, sp.TBool) +
      sp.if params: +
        sp.send(self.data.administrator, sp.balance) +
      sp.else: +
        sp.send(self.data.administrator, sp.balance)
    +
    + @sp.entrypoint +
    def transfer(self, params):
      sp.set_type(params, sp.TRecord(from_ = sp.TAddress, to_ = sp.TAddress, value = sp.TNat).layout(("from_ as from", ("to_ as to", "value")))) +
      sp.verify((params.from_ == sp.sender) | (self.data.ledger[params.from_].approvals[sp.sender] >= params.value), 'FA1.2_NotAllowed') +
      sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') +
      sp.if ~ (self.data.ledger.contains(params.to_)): +
        self.data.ledger[params.to_] = sp.record(approvals = {}, balance = 0) +
      sp.if ~ (self.data.borrows.contains(params.to_)): +
        self.data.borrows[params.to_] = sp.record(interestIndex = 0, principal = 0) +
      sp.transfer(sp.record(cToken = sp.self_address, dst = params.to_, src = params.from_, transferTokens = params.value), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, dst = sp.TAddress, src = sp.TAddress, transferTokens = sp.TNat).layout((("cToken", "src"), ("dst", "transferTokens"))), self.data.comptroller, entrypoint='transferAllowed').open_some()) +
      sp.set_type(sp.record(from_ = params.from_, sender = sp.sender, to_ = params.to_, value = params.value), sp.TRecord(from_ = sp.TAddress, sender = sp.TAddress, to_ = sp.TAddress, value = sp.TNat).layout((("from_", "sender"), ("to_", "value")))) +
      sp.verify(self.data.ledger[params.from_].balance >= params.value, 'FA1.2_InsufficientBalance') +
      self.data.ledger[params.from_].balance = sp.as_nat(self.data.ledger[params.from_].balance - params.value) +
      self.data.ledger[params.to_].balance += params.value +
      sp.if params.from_ != sp.sender: +
        self.data.ledger[params.from_].approvals[sp.sender] = sp.as_nat(self.data.ledger[params.from_].approvals[sp.sender] - params.value) +
        sp.if self.data.ledger[params.from_].approvals[sp.sender] == 0: +
          del self.data.ledger[params.from_].approvals[sp.sender]
    +
    + @sp.entrypoint +
    def updateAccountSnapshot(self, params):
      sp.transfer((params, sp.self_entrypoint('setAccountSnapshot')), sp.tez(0), sp.self_entrypoint('getAccountSnapshot'))
    +
    + @sp.entrypoint +
    def updateMetadata(self, params):
      sp.set_type(params, sp.TRecord(key = sp.TString, value = sp.TBytes).layout(("key", "value"))) +
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') +
      self.data.metadata[params.key] = params.value
    +
    + @sp.entrypoint +
    def updateProtocolSeizeShare(self, params):
      sp.set_type(params, sp.TNat) +
      sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') +
      self.data.protocolSeizeShareMantissa = params
    +
    +
    sp.add_compilation_target("test", Contract())
    \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_009_cont_3_contract.tz b/TezFinTest/CToken_Tests/step_009_cont_3_contract.tz new file mode 100644 index 00000000..f62f8b88 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_009_cont_3_contract.tz @@ -0,0 +1,4942 @@ +parameter (or (or (or (or (unit %acceptGovernance) (or (contract %accrueInterestInternal nat) (pair %approve (address %spender) (nat %value)))) (or (nat %doAccrueInterest) (or (unit %hardResetOp) (nat %reduceReservesInternal)))) (or (or (unit %removePendingGovernance) (or (address %setComptroller) (address %setInterestRateModelInternal))) (or (address %setPendingGovernance) (or (nat %setReserveFactorInternal) (nat %updateProtocolSeizeShare))))) (or (or (or (or (unit %accrueInterest) (or (nat %addReserves) (pair %addReservesInternal (nat %addAmount) (address %originalSender)))) (or (or (nat %borrow) (pair %borrowBalanceStored address (contract nat))) (or (pair %exchangeRateStored unit (contract nat)) (pair %getAccountSnapshot address (contract (pair (pair (address %account) (nat %borrowBalance)) (pair (nat %cTokenBalance) (nat %exchangeRateMantissa)))))))) (or (or (or (pair %getAllowance (pair (address %owner) (address %spender)) (contract nat)) (pair %getBalance address (contract nat))) (or (pair %getBalanceOfUnderlying address (contract nat)) (pair %getCash unit (contract nat)))) (or (or (pair %getTotalSupply unit (contract nat)) (pair %liquidateBorrow (address %borrower) (pair (address %cTokenCollateral) (nat %repayAmount)))) (or (nat %mint) (nat %redeem))))) (or (or (or (nat %redeemUnderlying) (or (nat %reduceReserves) (nat %repayBorrow))) (or (or (pair %repayBorrowBehalf (address %borrower) (nat %repayAmount)) (pair %seize (address %borrower) (pair (address %liquidator) (nat %seizeTokens)))) (or (pair %setAccountSnapshot (pair (address %account) (nat %borrowBalance)) (pair (nat %cTokenBalance) (nat %exchangeRateMantissa))) (nat %setActiveOp)))) (or (or (or (address %setInterestRateModel) (nat %setReserveFactor)) (or (pair %sweepFA12 (nat %amount) (address %tokenAddress)) (pair %sweepFA2 (nat %amount) (pair (nat %id) (address %tokenAddress))))) (or (or (bool %sweepMutez) (pair %transfer (address %from) (pair (address %to) (nat %value)))) (or (address %updateAccountSnapshot) (pair %updateMetadata (string %key) (bytes %value)))))))); +storage (pair (pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))))) (big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))))); +code + { + UNPAIR 3; # @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_LEFT + { + DUP; # @parameter.left : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_LEFT + { + IF_LEFT + { + IF_LEFT + { + DROP; # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # == acceptGovernance == # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + DROP; # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # == accrueInterestInternal == # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 1; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + DROP; # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # == approve == # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 2; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + DROP; # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # == doAccrueInterest == # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 3; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + DROP; # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # == hardResetOp == # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 4; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + DROP; # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # == reduceReservesInternal == # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 5; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + IF_LEFT + { + DROP; # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # == removePendingGovernance == # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 6; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + DROP; # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # == setComptroller == # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 7; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + DROP; # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # == setInterestRateModelInternal == # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 8; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + DROP; # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # == setPendingGovernance == # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 9; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + DROP; # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # == setReserveFactorInternal == # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 10; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + DROP; # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # == updateProtocolSeizeShare == # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 11; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) : nat : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int -1; # int : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + # missing entrypoint # @some : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # @some : @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # @parameter.left : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @some : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair @parameter.left (pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))))) : @some : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EXEC; # pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # list operation : pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + IF_LEFT + { + IF_LEFT + { + IF_LEFT + { + # == accrueInterest == + # if sp.level != self.data.accrualBlockNumber: # @parameter%accrueInterest : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%accrueInterest : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%accrueInterest : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : @parameter%accrueInterest : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # nat : @parameter%accrueInterest : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LEVEL; # @level : nat : @parameter%accrueInterest : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%accrueInterest : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NEQ; # bool : @parameter%accrueInterest : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # if self.data.accrualBlockNumber == 0: # @parameter%accrueInterest : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @parameter%accrueInterest : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%accrueInterest : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%accrueInterest : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : nat : @parameter%accrueInterest : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # nat : nat : @parameter%accrueInterest : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%accrueInterest : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : @parameter%accrueInterest : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%accrueInterest : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.accrualBlockNumber = sp.level # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%accrueInterest : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%accrueInterest : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%accrueInterest : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%accrueInterest : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%accrueInterest : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # pair (set %activeOperations nat) (address %administrator) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%accrueInterest : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LEVEL; # @level : pair (set %activeOperations nat) (address %administrator) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%accrueInterest : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 5; # @parameter%accrueInterest : @level : pair (set %activeOperations nat) (address %administrator) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # @level : pair (set %activeOperations nat) (address %administrator) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair @level (pair (set %activeOperations nat) (address %administrator)) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair @level (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair @level (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair @level (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair @level (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair @level (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + DROP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.activeOperations.add(8) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair (set %activeOperations nat) (address %administrator) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (set %activeOperations nat) (address %administrator) : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH bool True; # bool : set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 8; # nat : bool : set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (set nat) address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair (set nat) address : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair (set nat) address) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair nat (pair (set nat) address) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(sp.self_entrypoint('doAccrueInterest'), sp.tez(0), sp.contract(sp.TContract(sp.TNat), sp.self_address, entrypoint='accrueInterestInternal').open_some()) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONTRACT %accrueInterestInternal (contract nat); # option (contract (contract nat)) : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 735; # int : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF %doAccrueInterest; # @self : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + DROP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + # == addReserves == + # sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') # @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @self : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NEQ; # bool : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTERNAL_CALL"; # string : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(sp.len(self.data.activeOperations) == 0, 'OP_IN_PROGRESS') # @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : nat : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # set nat : nat : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SIZE; # nat : nat : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "OP_IN_PROGRESS"; # string : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.activeOperations.add(11) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair (set %activeOperations nat) (address %administrator) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (set %activeOperations nat) (address %administrator) : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH bool True; # bool : set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 11; # nat : bool : set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (set nat) address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair (set nat) address : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair (set nat) address) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair nat (pair (set nat) address) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%addReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(sp.unit, sp.tez(0), sp.self_entrypoint('accrueInterest')) # @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF %accrueInterest; # @self : list operation : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @self : list operation : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNIT; # unit : mutez : @self : list operation : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(sp.record(addAmount = params, originalSender = sp.sender), sp.amount, sp.self_entrypoint('addReservesInternal')) # list operation : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF %addReservesInternal; # @self : list operation : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + AMOUNT; # @amount : @self : list operation : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @amount : @self : list operation : @parameter%addReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 4; # @parameter%addReserves : @sender : @amount : @self : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair @parameter%addReserves @sender : @amount : @self : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + # == addReservesInternal == + # sp.verify(sp.sender == sp.self_address, 'CT_INTERNAL_FUNCTION') # @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @self : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTERNAL_FUNCTION"; # string : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(self.data.activeOperations.contains(11), 'OP_NOT_ACTIVE') # @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # set nat : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 11; # nat : set nat : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "OP_NOT_ACTIVE"; # string : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.activeOperations.remove(11) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair (set %activeOperations nat) (address %administrator) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (set %activeOperations nat) (address %administrator) : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH bool False; # bool : set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 11; # nat : bool : set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (set nat) address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair (set nat) address : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair (set nat) address) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair nat (pair (set nat) address) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') # @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address)) : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # nat : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LEVEL; # @level : nat : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTEREST_OLD"; # string : @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%addReservesInternal : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.totalReserves += params.addAmount # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 9; # nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%addReservesInternal : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # @parameter%addReservesInternal : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ADD; # nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 9; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + IF_LEFT + { + # == borrow == + # sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') # @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @self : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NEQ; # bool : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTERNAL_CALL"; # string : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if ~ (self.data.ledger.contains(sp.sender)): # @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.ledger[sp.sender] = sp.record(approvals = {}, balance = 0) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH (option (pair (map address nat) nat)) (Some (Pair {} 0)); # option (pair (map address nat) nat) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : option (pair (map address nat) nat) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : big_map address (pair (map address nat) nat) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair address (big_map address (pair (map address nat) nat)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair address (big_map address (pair (map address nat) nat)) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if ~ (self.data.borrows.contains(sp.sender)): # @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair (nat %interestIndex) (nat %principal)) : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair (nat %interestIndex) (nat %principal)) : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.borrows[sp.sender] = sp.record(interestIndex = 0, principal = 0) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH (option (pair nat nat)) (Some (Pair 0 0)); # option (pair nat nat) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : option (pair nat nat) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map address (pair nat nat)) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(sp.record(borrowAmount = params, borrower = sp.sender, cToken = sp.self_address), sp.tez(0), sp.contract(sp.TRecord(borrowAmount = sp.TNat, borrower = sp.TAddress, cToken = sp.TAddress).layout(("cToken", ("borrower", "borrowAmount"))), self.data.comptroller, entrypoint='borrowAllowed').open_some()) # @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair nat nat)) address : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # address : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONTRACT %borrowAllowed (pair (address %cToken) (pair (address %borrower) (nat %borrowAmount))); # option (contract (pair (address %cToken) (pair (address %borrower) (nat %borrowAmount)))) : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 217; # int : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @some : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%borrow : mutez : @some : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @parameter%borrow : mutez : @some : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : @sender : @parameter%borrow : mutez : @some : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR 3; # pair @self (pair @sender @parameter%borrow) : mutez : @some : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify((self.data.totalSupply // 1000000) >= params, 'CT_INSUFFICIENT_CASH') # list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%borrow : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 1000000; # nat : @parameter%borrow : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%borrow : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : @parameter%borrow : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : @parameter%borrow : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 19; # int : @parameter%borrow : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : @parameter%borrow : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter%borrow : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GE; # bool : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INSUFFICIENT_CASH"; # string : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') # list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LEVEL; # @level : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTEREST_OLD"; # string : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # borrowBalance = sp.local("borrowBalance", 0) # list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.borrows.contains(sp.sender): # nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair nat nat)) address : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair nat nat) : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair nat nat) : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[sp.sender]) # nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair nat nat)) address : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair nat nat) : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair nat nat) : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair nat nat) : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 628; # int : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if borrowSnapshot.value.principal > 0: # @some : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @some : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @some : nat : @some : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : @some : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @some : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : @some : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + SWAP; # nat : @some : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # @some : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex # @some : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @some : @some : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : @some : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @some : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @some : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : nat : @some : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : nat : @some : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # @some : nat : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 631; # int : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + DROP; # nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + {}; # nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.borrows[sp.sender].principal = borrowBalance.value + params # nat : list operation : @parameter%borrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (big_map address (pair nat nat)) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @sender : @sender : big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # @sender : big_map address (pair nat nat) : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair nat nat) : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 210; # int : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 11; # @parameter%borrow : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 9; # nat : @parameter%borrow : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ADD; # nat : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 2; # @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option (pair nat nat) : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @sender : option (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map address (pair nat nat)) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.borrows[sp.sender].interestIndex = self.data.borrowIndex # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (big_map address (pair nat nat)) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @sender : @sender : big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # @sender : big_map address (pair nat nat) : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair nat nat) : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 211; # int : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 8; # nat : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 1; # @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option (pair nat nat) : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @sender : option (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map address (pair nat nat)) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.totalBorrows += params # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows) : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # big_map nat (pair (nat %token_id) (map %token_info string bytes)) : nat : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : big_map nat (pair (nat %token_id) (map %token_info string bytes)) : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%borrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 7; # @parameter%borrow : nat : big_map nat (pair (nat %token_id) (map %token_info string bytes)) : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ADD; # nat : big_map nat (pair (nat %token_id) (map %token_info string bytes)) : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map nat (pair (nat %token_id) (map %token_info string bytes)) : nat : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply)) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + # == borrowBalanceStored == + # borrowBalance = sp.local("borrowBalance", 0) # @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.borrows.contains(sp.fst(params)): # nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair (nat %interestIndex) (nat %principal)) : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%borrowBalanceStored : big_map address (pair (nat %interestIndex) (nat %principal)) : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (nat %interestIndex) (nat %principal)) : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[sp.fst(params)]) # nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair (nat %interestIndex) (nat %principal)) : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%borrowBalanceStored : big_map address (pair (nat %interestIndex) (nat %principal)) : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (nat %interestIndex) (nat %principal)) : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (nat %interestIndex) (nat %principal)) : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 628; # int : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if borrowSnapshot.value.principal > 0: # @some : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @some : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @some : nat : @some : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : @some : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @some : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : @some : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + SWAP; # nat : @some : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # @some : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex # @some : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @some : @some : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : @some : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @some : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @some : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : nat : @some : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : nat : @some : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # @some : nat : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 631; # int : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + DROP; # nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + {}; # nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.result(borrowBalance.value) + # sp.transfer(__s1.value, sp.tez(0), sp.snd(params)) # nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : nat : @parameter%borrowBalanceStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # @parameter%borrowBalanceStored : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # contract nat : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : contract nat : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # nat : mutez : contract nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + # == exchangeRateStored == + # excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) # @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.totalSupply > 0: # nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + DROP; # @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') # @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "DIVISION_BY_ZERO"; # string : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply # @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 9; # nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows) : nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 1000000; # nat : nat : nat : nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 8; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : nat : nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : nat : nat : nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 19; # int : nat : nat : nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : nat : nat : nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : nat : nat : nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : nat : nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : nat : nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : nat : nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ADD; # nat : nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 671; # int : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 257; # int : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + {}; # nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.result(excRate.value) + # sp.transfer(__s2.value, sp.tez(0), sp.snd(params)) # nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : nat : @parameter%exchangeRateStored : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # @parameter%exchangeRateStored : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # contract nat : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : contract nat : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # nat : mutez : contract nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + # == getAccountSnapshot == + # compute_CToken_565 = sp.local("compute_CToken_565", sp.record(account = sp.fst(params), borrowBalance = 0, cTokenBalance = 0, exchangeRateMantissa = 0)) # @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH (pair nat nat) (Pair 0 0); # pair nat nat : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : pair nat nat : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%getAccountSnapshot : nat : pair nat nat : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : nat : pair nat nat : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair address nat : pair nat nat : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.ledger.contains(sp.fst(params)): # pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%getAccountSnapshot : big_map address (pair (map %approvals address nat) (nat %balance)) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') # pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LEVEL; # @level : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTEREST_OLD"; # string : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # compute_CToken_565.value.cTokenBalance = self.data.ledger[sp.fst(params)].balance # pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%getAccountSnapshot : big_map address (pair (map %approvals address nat) (nat %balance)) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map %approvals address nat) (nat %balance)) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 573; # int : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 3; # pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # borrowBalance = sp.local("borrowBalance", 0) # pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.borrows.contains(sp.fst(params)): # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair (nat %interestIndex) (nat %principal)) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%getAccountSnapshot : big_map address (pair (nat %interestIndex) (nat %principal)) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (nat %interestIndex) (nat %principal)) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[sp.fst(params)]) # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair (nat %interestIndex) (nat %principal)) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%getAccountSnapshot : big_map address (pair (nat %interestIndex) (nat %principal)) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (nat %interestIndex) (nat %principal)) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (nat %interestIndex) (nat %principal)) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 628; # int : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if borrowSnapshot.value.principal > 0: # @some : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @some : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @some : nat : @some : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : @some : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @some : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : @some : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + SWAP; # nat : @some : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # @some : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex # @some : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @some : @some : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : @some : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @some : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @some : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : nat : @some : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : nat : @some : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # @some : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 631; # int : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + DROP; # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + {}; # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair address nat) (pair nat nat) : nat : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # compute_CToken_565.value.borrowBalance = borrowBalance.value # pair (pair address nat) (pair nat nat) : nat : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair address nat : pair nat nat : nat : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : pair nat nat : nat : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # nat : address : pair nat nat : nat : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : nat : pair nat nat : nat : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair address nat : pair nat nat : nat : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair address nat) (pair nat nat) : nat : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.totalSupply > 0: # nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 6; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + DROP 2; # pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') # pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "DIVISION_BY_ZERO"; # string : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply # pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 9; # nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 6; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows) : nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 1000000; # nat : nat : nat : nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 9; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : nat : nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : nat : nat : nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 19; # int : nat : nat : nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : nat : nat : nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : nat : nat : nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : nat : nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : nat : nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : nat : nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ADD; # nat : nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 671; # int : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 257; # int : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + SWAP; # nat : nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # compute_CToken_565.value.exchangeRateMantissa = excRate.value # nat : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 4; # pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + {}; # pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.result(compute_CToken_565.value) + # sp.transfer(__s3.value, sp.tez(0), sp.snd(params)) # pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : pair (pair address nat) (pair nat nat) : @parameter%getAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # @parameter%getAccountSnapshot : list operation : pair (pair address nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # contract (pair (pair (address %account) (nat %borrowBalance)) (pair (nat %cTokenBalance) (nat %exchangeRateMantissa))) : list operation : pair (pair address nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : contract (pair (pair (address %account) (nat %borrowBalance)) (pair (nat %cTokenBalance) (nat %exchangeRateMantissa))) : list operation : pair (pair address nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # pair (pair address nat) (pair nat nat) : mutez : contract (pair (pair (address %account) (nat %borrowBalance)) (pair (nat %cTokenBalance) (nat %exchangeRateMantissa))) : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + IF_LEFT + { + IF_LEFT + { + # == getAllowance == + # result = sp.local("result", 0) # @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.ledger.contains(sp.fst(params).owner): # nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%getAllowance : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (address %owner) (address %spender) : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # if self.data.ledger[sp.fst(params).owner].approvals.contains(sp.fst(params).spender): # nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%getAllowance : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (address %owner) (address %spender) : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map %approvals address nat) (nat %balance)) : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 549; # int : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # map address nat : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%getAllowance : map address nat : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (address %owner) (address %spender) : map address nat : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # address : map address nat : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + DROP; # @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # result.value = self.data.ledger[sp.fst(params).owner].approvals[sp.fst(params).spender] # @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%getAllowance : big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (address %owner) (address %spender) : big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map %approvals address nat) (nat %balance)) : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 550; # int : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # map address nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%getAllowance : map address nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (address %owner) (address %spender) : map address nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # address : map address nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 550; # int : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + {}; # nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + {}; # nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.result(result.value) + # sp.transfer(__s4.value, sp.tez(0), sp.snd(params)) # nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : nat : @parameter%getAllowance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # @parameter%getAllowance : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # contract nat : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : contract nat : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # nat : mutez : contract nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + # == getBalance == + # result = sp.local("result", 0) # @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.ledger.contains(sp.fst(params)): # nat : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : nat : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : nat : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : nat : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%getBalance : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : nat : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + DROP; # @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # result.value = self.data.ledger[sp.fst(params)].balance # @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%getBalance : big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map %approvals address nat) (nat %balance)) : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 489; # int : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + {}; # nat : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.result(result.value) + # sp.transfer(__s5.value, sp.tez(0), sp.snd(params)) # nat : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : nat : @parameter%getBalance : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # @parameter%getBalance : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # contract nat : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : contract nat : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # nat : mutez : contract nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + # == getBalanceOfUnderlying == + # excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) # @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.totalSupply > 0: # nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + DROP; # @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') # @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "DIVISION_BY_ZERO"; # string : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply # @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 9; # nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows) : nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 1000000; # nat : nat : nat : nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 8; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : nat : nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : nat : nat : nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 19; # int : nat : nat : nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : nat : nat : nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : nat : nat : nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : nat : nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : nat : nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : nat : nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ADD; # nat : nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 671; # int : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 257; # int : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + {}; # nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.result((excRate.value * self.data.ledger[sp.fst(params)].balance) // self.data.expScale) # nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%getBalanceOfUnderlying : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map %approvals address nat) (nat %balance)) : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 521; # int : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # nat : nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 61; # int : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(__s6.value, sp.tez(0), sp.snd(params)) # nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : nat : @parameter%getBalanceOfUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # @parameter%getBalanceOfUnderlying : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # contract nat : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : contract nat : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # nat : mutez : contract nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + # == getCash == + # sp.result(self.data.totalSupply // 1000000) # @parameter%getCash : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 1000000; # nat : @parameter%getCash : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%getCash : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : @parameter%getCash : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : @parameter%getCash : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 19; # int : @parameter%getCash : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : @parameter%getCash : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter%getCash : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(__s7.value, sp.tez(0), sp.snd(params)) # nat : @parameter%getCash : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : nat : @parameter%getCash : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # @parameter%getCash : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # contract nat : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : contract nat : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # nat : mutez : contract nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + IF_LEFT + { + # == getTotalSupply == + # sp.result(self.data.totalSupply) # @parameter%getTotalSupply : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%getTotalSupply : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : @parameter%getTotalSupply : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(__s8.value, sp.tez(0), sp.snd(params)) # nat : @parameter%getTotalSupply : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : nat : @parameter%getTotalSupply : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # @parameter%getTotalSupply : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # contract nat : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : contract nat : list operation : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # nat : mutez : contract nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + # == liquidateBorrow == + # sp.transfer(sp.record(borrower = params.borrower, cTokenBorrowed = sp.self_address, cTokenCollateral = params.cTokenCollateral, liquidator = sp.sender, repayAmount = params.repayAmount), sp.tez(0), sp.contract(sp.TRecord(borrower = sp.TAddress, cTokenBorrowed = sp.TAddress, cTokenCollateral = sp.TAddress, liquidator = sp.TAddress, repayAmount = sp.TNat).layout((("borrower", "cTokenBorrowed"), ("cTokenCollateral", ("liquidator", "repayAmount")))), self.data.comptroller, entrypoint='liquidateBorrowAllowed').open_some()) # @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # address : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONTRACT %liquidateBorrowAllowed (pair (pair (address %borrower) (address %cTokenBorrowed)) (pair (address %cTokenCollateral) (pair (address %liquidator) (nat %repayAmount)))); # option (contract (pair (pair (address %borrower) (address %cTokenBorrowed)) (pair (address %cTokenCollateral) (pair (address %liquidator) (nat %repayAmount))))) : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 357; # int : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%liquidateBorrow : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # nat : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : nat : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair @sender nat : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # @parameter%liquidateBorrow : pair @sender nat : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # address : pair @sender nat : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair address (pair @sender nat) : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : pair address (pair @sender nat) : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 6; # @parameter%liquidateBorrow : @self : pair address (pair @sender nat) : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : @self : pair address (pair @sender nat) : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair address @self : pair address (pair @sender nat) : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair address @self) (pair address (pair @sender nat)) : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(params.borrower != sp.sender, 'CT_LIQUIDATE_LIQUIDATOR_IS_BORROWER') # list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%liquidateBorrow : @sender : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : @sender : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NEQ; # bool : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_LIQUIDATE_LIQUIDATOR_IS_BORROWER"; # string : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(params.repayAmount > 0, 'CT_LIQUIDATE_CLOSE_AMOUNT_IS_INVALID') # list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%liquidateBorrow : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # nat : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_LIQUIDATE_CLOSE_AMOUNT_IS_INVALID"; # string : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') # list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LEVEL; # @level : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTEREST_OLD"; # string : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # borrowBalance = sp.local("borrowBalance", 0) # list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.borrows.contains(params.borrower): # nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair (nat %interestIndex) (nat %principal)) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%liquidateBorrow : big_map address (pair (nat %interestIndex) (nat %principal)) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (nat %interestIndex) (nat %principal)) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[params.borrower]) # nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair (nat %interestIndex) (nat %principal)) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%liquidateBorrow : big_map address (pair (nat %interestIndex) (nat %principal)) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (nat %interestIndex) (nat %principal)) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (nat %interestIndex) (nat %principal)) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 628; # int : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if borrowSnapshot.value.principal > 0: # @some : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @some : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @some : nat : @some : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : @some : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @some : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : @some : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + SWAP; # nat : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex # @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @some : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : nat : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : nat : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # @some : nat : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 631; # int : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + DROP; # nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + {}; # nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.borrows[params.borrower].principal = sp.as_nat(borrowBalance.value - sp.min(borrowBalance.value, params.repayAmount), message = 'SUBTRACTION_UNDERFLOW') # nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # big_map address (pair (nat %interestIndex) (nat %principal)) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 10; # @parameter%liquidateBorrow : big_map address (pair (nat %interestIndex) (nat %principal)) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (nat %interestIndex) (nat %principal)) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # address : address : big_map address (pair (nat %interestIndex) (nat %principal)) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (nat %interestIndex) (nat %principal)) : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 263; # int : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 11; # @parameter%liquidateBorrow : @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # nat : @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 10; # nat : nat : @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # nat : nat : nat : @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # nat : nat : nat : nat : @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : nat : @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LE; # bool : nat : nat : @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + DROP; # nat : @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + SWAP; # nat : nat : @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 10; # nat : nat : @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 2; # @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option (pair (nat %interestIndex) (nat %principal)) : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : option (pair (nat %interestIndex) (nat %principal)) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map address (pair (nat %interestIndex) (nat %principal))) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.borrows[params.borrower].interestIndex = self.data.borrowIndex # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (big_map address (pair (nat %interestIndex) (nat %principal))) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # big_map address (pair (nat %interestIndex) (nat %principal)) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 11; # @parameter%liquidateBorrow : big_map address (pair (nat %interestIndex) (nat %principal)) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (nat %interestIndex) (nat %principal)) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # address : address : big_map address (pair (nat %interestIndex) (nat %principal)) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (nat %interestIndex) (nat %principal)) : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 265; # int : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 8; # nat : @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 1; # @some : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option (pair (nat %interestIndex) (nat %principal)) : address : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : option (pair (nat %interestIndex) (nat %principal)) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map address (pair (nat %interestIndex) (nat %principal))) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 3; # nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.totalBorrows = sp.as_nat(self.data.totalBorrows - sp.min(borrowBalance.value, params.repayAmount), message = 'SUBTRACTION_UNDERFLOW') # nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%liquidateBorrow : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # nat : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # nat : nat : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # nat : nat : nat : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LE; # bool : nat : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + DROP; # nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + SWAP; # nat : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @some : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @some : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)) : pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows) : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map nat (pair (nat %token_id) (map %token_info string bytes)) : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 5; # @some : big_map nat (pair (nat %token_id) (map %token_info string bytes)) : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map nat (pair (nat %token_id) (map %token_info string bytes)) : @some : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply)) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply)) : pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%liquidateBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.borrows[params.borrower].principal == 0: # list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair (nat %interestIndex) (nat %principal))) address : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair (nat %interestIndex) (nat %principal)) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%liquidateBorrow : big_map address (pair (nat %interestIndex) (nat %principal)) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (nat %interestIndex) (nat %principal)) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (nat %interestIndex) (nat %principal)) : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 268; # int : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # sp.transfer(params.borrower, sp.tez(0), sp.contract(sp.TAddress, self.data.comptroller, entrypoint='removeFromLoans').open_some()) # list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair (nat %interestIndex) (nat %principal))) address : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # address : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONTRACT %removeFromLoans address; # option (contract address) : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 270; # int : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%liquidateBorrow : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + {}; # list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(sp.view("balanceOf", params.borrower, params.cTokenCollateral, sp.TNat).open_some(message = 'INVALID BALANCE OF VIEW') >= sp.view("liquidateCalculateSeizeTokens", sp.record(actualRepayAmount = params.repayAmount, cTokenBorrowed = sp.self_address, cTokenCollateral = params.cTokenCollateral), self.data.comptroller, sp.TNat).open_some(message = 'INVALID LIQUIDATE CALC SEIZE TOKEN VIEW'), 'LIQUIDATE_SEIZE_TOO_MUCH') # list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair (nat %interestIndex) (nat %principal))) address : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # address : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%liquidateBorrow : address : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # address : address : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : address : address : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # @parameter%liquidateBorrow : @self : address : address : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # nat : @self : address : address : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR 3; # pair nat (pair @self address) : address : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + VIEW "liquidateCalculateSeizeTokens" nat; # option nat : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "INVALID LIQUIDATE CALC SEIZE TOKEN VIEW"; # string : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%liquidateBorrow : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # address : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%liquidateBorrow : address : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : address : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + VIEW "balanceOf" nat; # option nat : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "INVALID BALANCE OF VIEW"; # string : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GE; # bool : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "LIQUIDATE_SEIZE_TOO_MUCH"; # string : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(sp.record(borrower = params.borrower, liquidator = sp.sender, seizeTokens = sp.view("liquidateCalculateSeizeTokens", sp.record(actualRepayAmount = params.repayAmount, cTokenBorrowed = sp.self_address, cTokenCollateral = params.cTokenCollateral), self.data.comptroller, sp.TNat).open_some(message = 'INVALID LIQUIDATE CALC SEIZE TOKEN VIEW')), sp.tez(0), sp.contract(sp.TRecord(borrower = sp.TAddress, liquidator = sp.TAddress, seizeTokens = sp.TNat).layout(("borrower", ("liquidator", "seizeTokens"))), params.cTokenCollateral, entrypoint='seize').open_some()) # list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%liquidateBorrow : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # address : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONTRACT %seize (pair (address %borrower) (pair (address %liquidator) (nat %seizeTokens))); # option (contract (pair (address %borrower) (pair (address %liquidator) (nat %seizeTokens)))) : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 382; # int : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale)))) : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair (nat %interestIndex) (nat %principal))) address : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # address : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # @parameter%liquidateBorrow : address : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # address : address : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : address : address : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 7; # @parameter%liquidateBorrow : @self : address : address : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # nat : @self : address : address : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR 3; # pair nat (pair @self address) : address : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + VIEW "liquidateCalculateSeizeTokens" nat; # option nat : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "INVALID LIQUIDATE CALC SEIZE TOKEN VIEW"; # string : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @some : mutez : @some : list operation : @parameter%liquidateBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 5; # @parameter%liquidateBorrow : @sender : @some : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : @sender : @some : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR 3; # pair address (pair @sender @some) : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair (nat %interestIndex) (nat %principal))) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + # == mint == + # sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') # @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @self : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NEQ; # bool : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTERNAL_CALL"; # string : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if ~ (self.data.ledger.contains(sp.sender)): # @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.ledger[sp.sender] = sp.record(approvals = {}, balance = 0) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH (option (pair (map address nat) nat)) (Some (Pair {} 0)); # option (pair (map address nat) nat) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : option (pair (map address nat) nat) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : big_map address (pair (map address nat) nat) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair address (big_map address (pair (map address nat) nat)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair address (big_map address (pair (map address nat) nat)) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if ~ (self.data.borrows.contains(sp.sender)): # @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair (nat %interestIndex) (nat %principal)) : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair (nat %interestIndex) (nat %principal)) : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.borrows[sp.sender] = sp.record(interestIndex = 0, principal = 0) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH (option (pair nat nat)) (Some (Pair 0 0)); # option (pair nat nat) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : option (pair nat nat) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map address (pair nat nat)) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%mint : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(sp.record(cToken = sp.self_address, mintAmount = params, minter = sp.sender), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, mintAmount = sp.TNat, minter = sp.TAddress).layout(("cToken", ("minter", "mintAmount"))), self.data.comptroller, entrypoint='mintAllowed').open_some()) # @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair nat nat)) address : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # address : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONTRACT %mintAllowed (pair (address %cToken) (pair (address %minter) (nat %mintAmount))); # option (contract (pair (address %cToken) (pair (address %minter) (nat %mintAmount)))) : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 104; # int : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @some : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%mint : mutez : @some : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @parameter%mint : mutez : @some : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : @sender : @parameter%mint : mutez : @some : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR 3; # pair @self (pair @sender @parameter%mint) : mutez : @some : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') # list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LEVEL; # @level : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTEREST_OLD"; # string : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) # list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.totalSupply > 0: # nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + DROP; # list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') # list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "DIVISION_BY_ZERO"; # string : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply # list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 9; # nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 6; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows) : nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 1000000; # nat : nat : nat : nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 9; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : nat : nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : nat : nat : nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 19; # int : nat : nat : nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : nat : nat : nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : nat : nat : nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : nat : nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : nat : nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : nat : nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ADD; # nat : nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 671; # int : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 257; # int : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + {}; # nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # amount = sp.local("amount", 0) + # if True: + # sp.verify(excRate.value > 0, 'DIVISION_BY_ZERO') # nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # nat : nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "DIVISION_BY_ZERO"; # string : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # compute_CToken_965 = sp.local("compute_CToken_965", (params * self.data.expScale) // excRate.value) # nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # nat : nat : list operation : @parameter%mint : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # @parameter%mint : nat : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 270; # int : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # amount.value = compute_CToken_965.value + # sp.verify(amount.value > 0, 'CT_MINT_AMOUNT_IS_INVALID') # nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # nat : nat : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_MINT_AMOUNT_IS_INVALID"; # string : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.totalSupply += amount.value # nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # nat : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ADD; # nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 10; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.ledger[sp.sender].balance += amount.value # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair address (big_map address (pair (map address nat) nat)) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair address (big_map address (pair (map address nat) nat)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # address : big_map address (pair (map address nat) nat) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @sender : @sender : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # @sender : big_map address (pair (map address nat) nat) : @sender : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map address nat) nat) : @sender : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 99; # int : @sender : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : @sender : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @some : @some : @sender : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : @some : @sender : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 9; # nat : nat : @some : @sender : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ADD; # nat : @some : @sender : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 2; # @some : @sender : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option (pair (map address nat) nat) : @sender : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @sender : option (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : big_map address (pair (map address nat) nat) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair address (big_map address (pair (map address nat) nat)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair address (big_map address (pair (map address nat) nat)) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + # == redeem == + # sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') # @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @self : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NEQ; # bool : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTERNAL_CALL"; # string : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(sp.record(cToken = sp.self_address, redeemAmount = params, redeemer = sp.sender), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), self.data.comptroller, entrypoint='redeemAllowed').open_some()) # @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # address : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONTRACT %redeemAllowed (pair (address %cToken) (pair (address %redeemer) (nat %redeemAmount))); # option (contract (pair (address %cToken) (pair (address %redeemer) (nat %redeemAmount)))) : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 177; # int : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @some : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%redeem : mutez : @some : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @parameter%redeem : mutez : @some : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : @sender : @parameter%redeem : mutez : @some : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR 3; # pair @self (pair @sender @parameter%redeem) : mutez : @some : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # redeem_amount = sp.local("redeem_amount", 0) # list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if False: + # excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) # nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.totalSupply > 0: # nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 6; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + DROP 2; # list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') # list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "DIVISION_BY_ZERO"; # string : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply # list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 9; # nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 6; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows) : nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 1000000; # nat : nat : nat : nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 9; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : nat : nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : nat : nat : nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 19; # int : nat : nat : nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : nat : nat : nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : nat : nat : nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : nat : nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : nat : nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : nat : nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ADD; # nat : nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 671; # int : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 257; # int : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + SWAP; # nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # amount = sp.local("amount", 0) + # if False: + # compute_CToken_968 = sp.local("compute_CToken_968", (excRate.value * params) // self.data.expScale) # nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%redeem : nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # nat : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 61; # int : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # amount.value = compute_CToken_968.value + # redeem_amount.value = amount.value + # redeem_tokens = sp.local("redeem_tokens", 0) + # if False: + # redeem_tokens.value = params # nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if (redeem_amount.value > 0) & (redeem_tokens.value > 0): # @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # nat : nat : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + PUSH nat 0; # nat : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%redeem : nat : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + PUSH bool False; # bool : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # bool : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # sp.verify((self.data.totalSupply // 1000000) >= redeem_amount.value, 'CT_INSUFFICIENT_CASH') # @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # nat : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 1000000; # nat : nat : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 7; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : nat : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 19; # int : nat : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : nat : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : nat : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GE; # bool : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INSUFFICIENT_CASH"; # string : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') # @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # nat : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LEVEL; # @level : nat : @parameter%redeem : nat : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # nat : @level : nat : @parameter%redeem : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # @level : nat : @parameter%redeem : list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 4; # @parameter%redeem : @level : nat : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # @level : nat : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTEREST_OLD"; # string : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.totalSupply = sp.as_nat(self.data.totalSupply - redeem_tokens.value, message = 'Insufficient supply') # @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @parameter%redeem : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%redeem : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : @parameter%redeem : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "Insufficient supply"; # string : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @some : @parameter%redeem : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @some : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%redeem : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 10; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%redeem : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.ledger[sp.sender].balance = sp.as_nat(self.data.ledger[sp.sender].balance - redeem_tokens.value, message = 'Insufficient balance') # @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map %approvals address nat) (nat %balance)) : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 172; # int : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "Insufficient balance"; # string : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # big_map address (pair (map %approvals address nat) (nat %balance)) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @sender : @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map %approvals address nat) (nat %balance)) : @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 171; # int : @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 8; # @some : @some : @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 2; # @some : @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option (pair (map %approvals address nat) (nat %balance)) : @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @sender : option (pair (map %approvals address nat) (nat %balance)) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair address (big_map address (pair (map %approvals address nat) (nat %balance))) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair address (big_map address (pair (map %approvals address nat) (nat %balance))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair address (big_map address (pair (map %approvals address nat) (nat %balance)))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair nat (pair address (big_map address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair nat (pair address (big_map address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + DROP 2; # list operation : @parameter%redeem : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%redeem : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + IF_LEFT + { + IF_LEFT + { + # == redeemUnderlying == + # sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') # @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @self : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NEQ; # bool : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTERNAL_CALL"; # string : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(sp.record(cToken = sp.self_address, redeemAmount = params, redeemer = sp.sender), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, redeemAmount = sp.TNat, redeemer = sp.TAddress).layout(("cToken", ("redeemer", "redeemAmount"))), self.data.comptroller, entrypoint='redeemAllowed').open_some()) # @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # address : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONTRACT %redeemAllowed (pair (address %cToken) (pair (address %redeemer) (nat %redeemAmount))); # option (contract (pair (address %cToken) (pair (address %redeemer) (nat %redeemAmount)))) : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 177; # int : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @some : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%redeemUnderlying : mutez : @some : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @parameter%redeemUnderlying : mutez : @some : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : @sender : @parameter%redeemUnderlying : mutez : @some : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR 3; # pair @self (pair @sender @parameter%redeemUnderlying) : mutez : @some : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # redeem_amount = sp.local("redeem_amount", 0) + # if True: + # redeem_amount.value = params # list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # redeem_tokens = sp.local("redeem_tokens", 0) # @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if True: + # excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) # nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.totalSupply > 0: # nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 7; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + DROP; # nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') # nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 6; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "DIVISION_BY_ZERO"; # string : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply # nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 6; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 7; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 9; # nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 8; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows) : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 1000000; # nat : nat : nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 11; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : nat : nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 19; # int : nat : nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : nat : nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : nat : nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ADD; # nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 671; # int : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 257; # int : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + {}; # nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # amount = sp.local("amount", 0) # nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if True: + # sp.verify(excRate.value > 0, 'DIVISION_BY_ZERO') # nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "DIVISION_BY_ZERO"; # string : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # compute_Exponential_277 = sp.local("compute_Exponential_277", params * self.data.expScale) # nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 7; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 7; # @parameter%redeemUnderlying : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # compute_Exponential_280 = sp.local("compute_Exponential_280", compute_Exponential_277.value // excRate.value) # nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # nat : nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 280; # int : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if (compute_Exponential_277.value % excRate.value) > 0: # nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # nat : nat : nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # nat : nat : nat : nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : nat : nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 281; # int : nat : nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + DROP 2; # nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # compute_CToken_976 = sp.local("compute_CToken_976", compute_Exponential_280.value + 1) # nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 1; # nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ADD; # nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # amount.value = compute_CToken_976.value + # redeem_tokens.value = amount.value + # if (redeem_amount.value > 0) & (redeem_tokens.value > 0): # nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%redeemUnderlying : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + PUSH nat 0; # nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # nat : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + PUSH bool False; # bool : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # bool : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # sp.verify((self.data.totalSupply // 1000000) >= redeem_amount.value, 'CT_INSUFFICIENT_CASH') # nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%redeemUnderlying : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 1000000; # nat : @parameter%redeemUnderlying : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 7; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%redeemUnderlying : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : @parameter%redeemUnderlying : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : @parameter%redeemUnderlying : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 19; # int : @parameter%redeemUnderlying : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : @parameter%redeemUnderlying : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter%redeemUnderlying : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GE; # bool : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INSUFFICIENT_CASH"; # string : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') # nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LEVEL; # @level : nat : nat : @parameter%redeemUnderlying : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # @parameter%redeemUnderlying : @level : nat : nat : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # @level : nat : nat : list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 4; # @parameter%redeemUnderlying : @level : nat : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # @level : nat : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTEREST_OLD"; # string : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.totalSupply = sp.as_nat(self.data.totalSupply - redeem_tokens.value, message = 'Insufficient supply') # nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # nat : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "Insufficient supply"; # string : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @some : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @some : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 10; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.ledger[sp.sender].balance = sp.as_nat(self.data.ledger[sp.sender].balance - redeem_tokens.value, message = 'Insufficient balance') # nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map %approvals address nat) (nat %balance)) : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 172; # int : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "Insufficient balance"; # string : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # big_map address (pair (map %approvals address nat) (nat %balance)) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @sender : @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map %approvals address nat) (nat %balance)) : @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 171; # int : @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 8; # @some : @some : @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 2; # @some : @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option (pair (map %approvals address nat) (nat %balance)) : @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @sender : option (pair (map %approvals address nat) (nat %balance)) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair address (big_map address (pair (map %approvals address nat) (nat %balance))) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair address (big_map address (pair (map %approvals address nat) (nat %balance))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair address (big_map address (pair (map %approvals address nat) (nat %balance)))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair nat (pair address (big_map address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair nat (pair address (big_map address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + DROP 2; # list operation : @parameter%redeemUnderlying : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%redeemUnderlying : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + # == reduceReserves == + # sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') # @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 6; # address : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : address : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_NOT_ADMIN"; # string : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(sp.len(self.data.activeOperations) == 0, 'OP_IN_PROGRESS') # @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : nat : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # set nat : nat : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SIZE; # nat : nat : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "OP_IN_PROGRESS"; # string : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.activeOperations.add(12) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair (set %activeOperations nat) (address %administrator) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (set %activeOperations nat) (address %administrator) : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH bool True; # bool : set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 12; # nat : bool : set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (set nat) address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair (set nat) address : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair (set nat) address) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair nat (pair (set nat) address) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%reduceReserves : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(sp.unit, sp.tez(0), sp.self_entrypoint('accrueInterest')) # @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF %accrueInterest; # @self : list operation : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @self : list operation : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNIT; # unit : mutez : @self : list operation : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(params, sp.amount, sp.self_entrypoint('reduceReservesInternal')) # list operation : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF %reduceReservesInternal; # @self : list operation : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + AMOUNT; # @amount : @self : list operation : @parameter%reduceReserves : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # @parameter%reduceReserves : @amount : @self : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + # == repayBorrow == + # sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') # @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @self : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NEQ; # bool : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTERNAL_CALL"; # string : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if ~ (self.data.ledger.contains(sp.sender)): # @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.ledger[sp.sender] = sp.record(approvals = {}, balance = 0) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH (option (pair (map address nat) nat)) (Some (Pair {} 0)); # option (pair (map address nat) nat) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : option (pair (map address nat) nat) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : big_map address (pair (map address nat) nat) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair address (big_map address (pair (map address nat) nat)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair address (big_map address (pair (map address nat) nat)) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if ~ (self.data.borrows.contains(sp.sender)): # @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair (nat %interestIndex) (nat %principal)) : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair (nat %interestIndex) (nat %principal)) : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.borrows[sp.sender] = sp.record(interestIndex = 0, principal = 0) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH (option (pair nat nat)) (Some (Pair 0 0)); # option (pair nat nat) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : option (pair nat nat) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map address (pair nat nat)) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(sp.record(borrower = sp.sender, cToken = sp.self_address, payer = sp.sender, repayAmount = params), sp.tez(0), sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), self.data.comptroller, entrypoint='repayBorrowAllowed').open_some()) # @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # list operation : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair nat nat)) address : list operation : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # address : list operation : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONTRACT %repayBorrowAllowed (pair (address %cToken) (pair (address %payer) (pair (address %borrower) (nat %repayAmount)))); # option (contract (pair (address %cToken) (pair (address %payer) (pair (address %borrower) (nat %repayAmount))))) : list operation : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 276; # int : list operation : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @some : list operation : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # @parameter%repayBorrow : mutez : @some : list operation : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @parameter%repayBorrow : mutez : @some : list operation : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @sender : @parameter%repayBorrow : mutez : @some : list operation : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : @sender : @sender : @parameter%repayBorrow : mutez : @some : list operation : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR 4; # pair @self (pair @sender (pair @sender @parameter%repayBorrow)) : mutez : @some : list operation : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 4; # list operation : pair @self (pair @sender (pair @sender @parameter%repayBorrow)) : mutez : @some : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # pair @self (pair @sender (pair @sender @parameter%repayBorrow)) : mutez : @some : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') # list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LEVEL; # @level : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTEREST_OLD"; # string : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # borrowBalance = sp.local("borrowBalance", 0) # list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.borrows.contains(sp.sender): # nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair nat nat)) address : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair nat nat) : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair nat nat) : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[sp.sender]) # nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair nat nat)) address : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair nat nat) : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair nat nat) : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair nat nat) : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 628; # int : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if borrowSnapshot.value.principal > 0: # @some : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @some : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @some : nat : @some : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : @some : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @some : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : @some : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + SWAP; # nat : @some : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # @some : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex # @some : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @some : @some : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : @some : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @some : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @some : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : nat : @some : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : nat : @some : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # @some : nat : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 631; # int : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + DROP; # nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + {}; # nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.borrows[sp.sender].principal = sp.as_nat(borrowBalance.value - sp.min(borrowBalance.value, params), message = 'SUBTRACTION_UNDERFLOW') # nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (big_map address (pair nat nat)) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @sender : @sender : big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # @sender : big_map address (pair nat nat) : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair nat nat) : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 263; # int : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 11; # @parameter%repayBorrow : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 10; # nat : @parameter%repayBorrow : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # nat : nat : @parameter%repayBorrow : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%repayBorrow : nat : nat : @parameter%repayBorrow : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : @parameter%repayBorrow : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LE; # bool : nat : @parameter%repayBorrow : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + DROP; # @parameter%repayBorrow : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + SWAP; # @parameter%repayBorrow : nat : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 10; # nat : nat : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 2; # @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option (pair nat nat) : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @sender : option (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map address (pair nat nat)) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.borrows[sp.sender].interestIndex = self.data.borrowIndex # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (big_map address (pair nat nat)) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @sender : @sender : big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # @sender : big_map address (pair nat nat) : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair nat nat) : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 265; # int : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 8; # nat : @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 1; # @some : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option (pair nat nat) : @sender : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @sender : option (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map address (pair nat nat)) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrow : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 3; # nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.totalBorrows = sp.as_nat(self.data.totalBorrows - sp.min(borrowBalance.value, params), message = 'SUBTRACTION_UNDERFLOW') # nat : list operation : @parameter%repayBorrow : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # @parameter%repayBorrow : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : @parameter%repayBorrow : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # nat : nat : @parameter%repayBorrow : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%repayBorrow : nat : nat : @parameter%repayBorrow : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : @parameter%repayBorrow : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LE; # bool : nat : @parameter%repayBorrow : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + DROP; # @parameter%repayBorrow : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + SWAP; # @parameter%repayBorrow : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows) : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows) : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map nat (pair (nat %token_id) (map %token_info string bytes)) : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 5; # @some : big_map nat (pair (nat %token_id) (map %token_info string bytes)) : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map nat (pair (nat %token_id) (map %token_info string bytes)) : @some : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply)) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.borrows[sp.sender].principal == 0: # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair nat nat)) address : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair nat nat) : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair nat nat) : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair nat nat) : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 268; # int : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # sp.transfer(sp.sender, sp.tez(0), sp.contract(sp.TAddress, self.data.comptroller, entrypoint='removeFromLoans').open_some()) # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair nat nat)) address : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # address : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONTRACT %removeFromLoans address; # option (contract address) : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 270; # int : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + {}; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + IF_LEFT + { + # == repayBorrowBehalf == + # sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') # @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @self : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NEQ; # bool : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTERNAL_CALL"; # string : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if ~ (self.data.ledger.contains(sp.sender)): # @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.ledger[sp.sender] = sp.record(approvals = {}, balance = 0) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH (option (pair (map address nat) nat)) (Some (Pair {} 0)); # option (pair (map address nat) nat) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : option (pair (map address nat) nat) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : big_map address (pair (map address nat) nat) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair address (big_map address (pair (map address nat) nat)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair address (big_map address (pair (map address nat) nat)) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if ~ (self.data.borrows.contains(sp.sender)): # @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair (nat %interestIndex) (nat %principal)) : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : big_map address (pair (nat %interestIndex) (nat %principal)) : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.borrows[sp.sender] = sp.record(interestIndex = 0, principal = 0) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH (option (pair nat nat)) (Some (Pair 0 0)); # option (pair nat nat) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : option (pair nat nat) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map address (pair nat nat)) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(sp.record(borrower = params.borrower, cToken = sp.self_address, payer = sp.sender, repayAmount = params.repayAmount), sp.tez(0), sp.contract(sp.TRecord(borrower = sp.TAddress, cToken = sp.TAddress, payer = sp.TAddress, repayAmount = sp.TNat).layout(("cToken", ("payer", ("borrower", "repayAmount")))), self.data.comptroller, entrypoint='repayBorrowAllowed').open_some()) # @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # list operation : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair nat nat)) address : list operation : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # address : list operation : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONTRACT %repayBorrowAllowed (pair (address %cToken) (pair (address %payer) (pair (address %borrower) (nat %repayAmount)))); # option (contract (pair (address %cToken) (pair (address %payer) (pair (address %borrower) (nat %repayAmount))))) : list operation : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 276; # int : list operation : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @some : list operation : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # @parameter%repayBorrowBehalf : mutez : @some : list operation : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : mutez : @some : list operation : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 6; # @parameter%repayBorrowBehalf : nat : mutez : @some : list operation : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : nat : mutez : @some : list operation : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : address : nat : mutez : @some : list operation : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : @sender : address : nat : mutez : @some : list operation : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR 4; # pair @self (pair @sender (pair address nat)) : mutez : @some : list operation : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 4; # list operation : pair @self (pair @sender (pair address nat)) : mutez : @some : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # pair @self (pair @sender (pair address nat)) : mutez : @some : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') # list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LEVEL; # @level : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTEREST_OLD"; # string : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # borrowBalance = sp.local("borrowBalance", 0) # list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.borrows.contains(params.borrower): # nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair nat nat)) address : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair nat nat) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%repayBorrowBehalf : big_map address (pair nat nat) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair nat nat) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[params.borrower]) # nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair nat nat)) address : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair nat nat) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%repayBorrowBehalf : big_map address (pair nat nat) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair nat nat) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair nat nat) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 628; # int : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if borrowSnapshot.value.principal > 0: # @some : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @some : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @some : nat : @some : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : @some : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @some : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : @some : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + SWAP; # nat : @some : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # @some : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex # @some : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @some : @some : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : @some : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @some : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @some : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : nat : @some : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : nat : @some : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # @some : nat : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 631; # int : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + DROP; # nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + {}; # nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.borrows[params.borrower].principal = sp.as_nat(borrowBalance.value - sp.min(borrowBalance.value, params.repayAmount), message = 'SUBTRACTION_UNDERFLOW') # nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (big_map address (pair nat nat)) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 10; # @parameter%repayBorrowBehalf : big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # address : address : big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # address : big_map address (pair nat nat) : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair nat nat) : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 263; # int : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 11; # @parameter%repayBorrowBehalf : @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 10; # nat : nat : @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # nat : nat : nat : @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # nat : nat : nat : nat : @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : nat : @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LE; # bool : nat : nat : @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + DROP; # nat : @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + SWAP; # nat : nat : @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 10; # nat : nat : @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 2; # @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option (pair nat nat) : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : option (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map address (pair nat nat)) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.borrows[params.borrower].interestIndex = self.data.borrowIndex # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (big_map address (pair nat nat)) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 11; # @parameter%repayBorrowBehalf : big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # address : address : big_map address (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # address : big_map address (pair nat nat) : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair nat nat) : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 265; # int : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 8; # nat : @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 1; # @some : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option (pair nat nat) : address : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : option (pair nat nat) : big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map address (pair nat nat)) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 3; # nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.totalBorrows = sp.as_nat(self.data.totalBorrows - sp.min(borrowBalance.value, params.repayAmount), message = 'SUBTRACTION_UNDERFLOW') # nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%repayBorrowBehalf : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # nat : nat : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # nat : nat : nat : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LE; # bool : nat : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + DROP; # nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + SWAP; # nat : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @some : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @some : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows) : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map nat (pair (nat %token_id) (map %token_info string bytes)) : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 5; # @some : big_map nat (pair (nat %token_id) (map %token_info string bytes)) : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map nat (pair (nat %token_id) (map %token_info string bytes)) : @some : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some : pair (nat %totalReserves) (nat %totalSupply) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply)) : pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock)) : pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply)) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%repayBorrowBehalf : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.borrows[params.borrower].principal == 0: # list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair nat nat)) address : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair nat nat) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%repayBorrowBehalf : big_map address (pair nat nat) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair nat nat) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair nat nat) : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 268; # int : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # sp.transfer(params.borrower, sp.tez(0), sp.contract(sp.TAddress, self.data.comptroller, entrypoint='removeFromLoans').open_some()) # list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair nat nat)) address : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # address : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONTRACT %removeFromLoans address; # option (contract address) : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 270; # int : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @some : list operation : @parameter%repayBorrowBehalf : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # @parameter%repayBorrowBehalf : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + SWAP; # @parameter%repayBorrowBehalf : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) @some) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + # == seize == + # if ~ (self.data.ledger.contains(params.liquidator)): # @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%seize : big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.ledger[params.liquidator] = sp.record(approvals = {}, balance = 0) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH (option (pair (map address nat) nat)) (Some (Pair {} 0)); # option (pair (map address nat) nat) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 8; # @parameter%seize : option (pair (map address nat) nat) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # address : option (pair (map address nat) nat) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : big_map address (pair (map address nat) nat) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair address (big_map address (pair (map address nat) nat)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair address (big_map address (pair (map address nat) nat)) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if ~ (self.data.borrows.contains(params.liquidator)): # @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair (nat %interestIndex) (nat %principal)) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%seize : big_map address (pair (nat %interestIndex) (nat %principal)) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # address : big_map address (pair (nat %interestIndex) (nat %principal)) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.borrows[params.liquidator] = sp.record(interestIndex = 0, principal = 0) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH (option (pair nat nat)) (Some (Pair 0 0)); # option (pair nat nat) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 8; # @parameter%seize : option (pair nat nat) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # address : option (pair nat nat) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map address (pair nat nat)) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(sp.view("seizeAllowed", sp.record(cTokenBorrowed = sp.sender, cTokenCollateral = sp.self_address), self.data.comptroller, sp.TBool).open_some(message = 'INVALID SEIZE ALLOWED VIEW'), 'CT_LIQUIDATE_SEIZE_COMPTROLLER_REJECTION') # @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair nat nat)) address : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # address : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : address : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @self : address : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair @sender @self : address : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + VIEW "seizeAllowed" bool; # option bool : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "INVALID SEIZE ALLOWED VIEW"; # string : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_LIQUIDATE_SEIZE_COMPTROLLER_REJECTION"; # string : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(params.borrower != params.liquidator, 'CT_LIQUIDATE_SEIZE_LIQUIDATOR_IS_BORROWER') # @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @parameter%seize : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # address : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%seize : address : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : address : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NEQ; # bool : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_LIQUIDATE_SEIZE_LIQUIDATOR_IS_BORROWER"; # string : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') # @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LEVEL; # @level : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTEREST_OLD"; # string : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # protocolSeizeTokens = sp.local("protocolSeizeTokens", (params.seizeTokens * self.data.protocolSeizeShareMantissa) // self.data.expScale) # @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 6; # nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%seize : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 231; # int : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) # nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.totalSupply > 0: # nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + DROP; # nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') # nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "DIVISION_BY_ZERO"; # string : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply # nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 9; # nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 6; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows) : nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 1000000; # nat : nat : nat : nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 9; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : nat : nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : nat : nat : nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 19; # int : nat : nat : nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : nat : nat : nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : nat : nat : nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : nat : nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : nat : nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : nat : nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ADD; # nat : nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 671; # int : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 257; # int : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + {}; # nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.totalReserves += (excRate.value * protocolSeizeTokens.value) // self.data.expScale # nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 9; # nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 7; # nat : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # nat : nat : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 4; # nat : nat : nat : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 61; # int : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ADD; # nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 9; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.totalSupply = sp.as_nat(self.data.totalSupply - protocolSeizeTokens.value, message = 'SUBTRACTION_UNDERFLOW') # nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @some : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @some : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 10; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.ledger[params.borrower].balance = sp.as_nat(self.data.ledger[params.borrower].balance - params.seizeTokens, message = 'SUBTRACTION_UNDERFLOW') # nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%seize : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map address nat) nat) : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%seize : big_map address (pair (map address nat) nat) : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (map address nat) nat) : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map address nat) nat) : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 307; # int : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : @parameter%seize : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @some : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @some : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair address (big_map address (pair (map address nat) nat)) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair address (big_map address (pair (map address nat) nat)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # address : big_map address (pair (map address nat) nat) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 10; # @parameter%seize : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # address : address : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # address : big_map address (pair (map address nat) nat) : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map address nat) nat) : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 334; # int : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 8; # @some : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 2; # @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option (pair (map address nat) nat) : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : option (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.ledger[params.liquidator].balance += sp.as_nat(params.seizeTokens - protocolSeizeTokens.value, message = 'SUBTRACTION_UNDERFLOW') # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 9; # @parameter%seize : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # address : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # address : address : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # address : big_map address (pair (map address nat) nat) : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map address nat) nat) : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 335; # int : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @some : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 9; # nat : nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%seize : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 10; # @parameter%seize : nat : nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # nat : nat : nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ADD; # nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 2; # @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option (pair (map address nat) nat) : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : option (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : big_map address (pair (map address nat) nat) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair address (big_map address (pair (map address nat) nat)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair address (big_map address (pair (map address nat) nat)) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%setAccountSnapshot : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # == setAccountSnapshot == + # self.data.accCTokenBalance = params.cTokenBalance # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%setAccountSnapshot : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setAccountSnapshot : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setAccountSnapshot : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setAccountSnapshot : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # nat : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setAccountSnapshot : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # @parameter%setAccountSnapshot : nat : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setAccountSnapshot : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # nat : nat : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setAccountSnapshot : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat nat : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setAccountSnapshot : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.accBorrowBalance = params.borrowBalance # pair nat nat : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setAccountSnapshot : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # @parameter%setAccountSnapshot : pair nat nat : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setAccountSnapshot : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (address %account) (nat %borrowBalance) : pair nat nat : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setAccountSnapshot : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : pair nat nat : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setAccountSnapshot : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair nat nat : nat : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setAccountSnapshot : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.accExchangeRateMantissa = params.exchangeRateMantissa # pair nat nat : nat : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setAccountSnapshot : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : nat : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setAccountSnapshot : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 5; # @parameter%setAccountSnapshot : nat : nat : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # nat : nat : nat : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : nat : nat : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat nat : nat : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair nat nat : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair nat nat) : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair nat (pair nat nat)) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair nat (pair nat nat)) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair nat (pair nat nat)) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%setActiveOp : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # == setActiveOp == + # self.data.activeOperations.add(params) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%setActiveOp : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setActiveOp : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setActiveOp : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setActiveOp : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setActiveOp : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair (set %activeOperations nat) (address %administrator) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setActiveOp : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (set %activeOperations nat) (address %administrator) : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setActiveOp : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setActiveOp : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH bool True; # bool : set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setActiveOp : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 7; # @parameter%setActiveOp : bool : set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (set nat) address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair (set nat) address : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair (set nat) address) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair nat (pair (set nat) address) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + IF_LEFT + { + IF_LEFT + { + # == setInterestRateModel == + # sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') # @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 6; # address : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : address : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_NOT_ADMIN"; # string : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(sp.len(self.data.activeOperations) == 0, 'OP_IN_PROGRESS') # @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : nat : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # set nat : nat : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SIZE; # nat : nat : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "OP_IN_PROGRESS"; # string : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.activeOperations.add(9) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair (set %activeOperations nat) (address %administrator) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (set %activeOperations nat) (address %administrator) : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH bool True; # bool : set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 9; # nat : bool : set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (set nat) address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair (set nat) address : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair (set nat) address) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair nat (pair (set nat) address) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%setInterestRateModel : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(sp.unit, sp.tez(0), sp.self_entrypoint('accrueInterest')) # @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF %accrueInterest; # @self : list operation : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @self : list operation : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNIT; # unit : mutez : @self : list operation : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(params, sp.tez(0), sp.self_entrypoint('setInterestRateModelInternal')) # list operation : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF %setInterestRateModelInternal; # @self : list operation : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @self : list operation : @parameter%setInterestRateModel : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # @parameter%setInterestRateModel : mutez : @self : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + # == setReserveFactor == + # sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') # @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 6; # address : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : address : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_NOT_ADMIN"; # string : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(sp.len(self.data.activeOperations) == 0, 'OP_IN_PROGRESS') # @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : nat : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # set nat : nat : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SIZE; # nat : nat : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "OP_IN_PROGRESS"; # string : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.activeOperations.add(10) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair (set %activeOperations nat) (address %administrator) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (set %activeOperations nat) (address %administrator) : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH bool True; # bool : set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 10; # nat : bool : set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # set nat : address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (set nat) address : nat : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair (set nat) address : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair (set nat) address) : pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa)) : pair nat (pair (set nat) address) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address)) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%setReserveFactor : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(sp.unit, sp.tez(0), sp.self_entrypoint('accrueInterest')) # @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF %accrueInterest; # @self : list operation : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @self : list operation : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNIT; # unit : mutez : @self : list operation : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(params, sp.tez(0), sp.self_entrypoint('setReserveFactorInternal')) # list operation : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF %setReserveFactorInternal; # @self : list operation : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @self : list operation : @parameter%setReserveFactor : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # @parameter%setReserveFactor : mutez : @self : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + # == sweepFA12 == + # sp.transfer(sp.record(from_ = sp.self_address, to_ = self.data.administrator, value = params.amount), sp.tez(0), sp.contract(sp.TRecord(from_ = sp.TAddress, to_ = sp.TAddress, value = sp.TNat).layout(("from_ as from", ("to_ as to", "value"))), params.tokenAddress, entrypoint='transfer').open_some()) # @parameter%sweepFA12 : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : @parameter%sweepFA12 : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%sweepFA12 : list operation : @parameter%sweepFA12 : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # address : list operation : @parameter%sweepFA12 : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONTRACT %transfer (pair (address %from) (pair (address %to) (nat %value))); # option (contract (pair (address %from) (pair (address %to) (nat %value)))) : list operation : @parameter%sweepFA12 : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 17; # int : list operation : @parameter%sweepFA12 : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : @parameter%sweepFA12 : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @some : list operation : @parameter%sweepFA12 : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # @parameter%sweepFA12 : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : nat : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 6; # address : nat : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : address : nat : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR 3; # pair @self (pair address nat) : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + # == sweepFA2 == + # sp.transfer(sp.list([sp.record(from_ = sp.self_address, txs = sp.list([sp.record(amount = params.amount, to_ = self.data.administrator, token_id = params.id)]))]), sp.tez(0), sp.contract(sp.TList(sp.TRecord(from_ = sp.TAddress, txs = sp.TList(sp.TRecord(amount = sp.TNat, to_ = sp.TAddress, token_id = sp.TNat).layout(("to_", ("token_id", "amount"))))).layout(("from_", "txs"))), params.tokenAddress, entrypoint='transfer').open_some()) # @parameter%sweepFA2 : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : @parameter%sweepFA2 : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%sweepFA2 : list operation : @parameter%sweepFA2 : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # address : list operation : @parameter%sweepFA2 : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONTRACT %transfer (list (pair (address %from_) (list %txs (pair (address %to_) (pair (nat %token_id) (nat %amount)))))); # option (contract (list (pair (address %from_) (list %txs (pair (address %to_) (pair (nat %token_id) (nat %amount))))))) : list operation : @parameter%sweepFA2 : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 43; # int : list operation : @parameter%sweepFA2 : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : @parameter%sweepFA2 : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @some : list operation : @parameter%sweepFA2 : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL (pair address (list (pair address (pair nat nat)))); # list (pair address (list (pair address (pair nat nat)))) : mutez : @some : list operation : @parameter%sweepFA2 : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL (pair address (pair nat nat)); # list (pair address (pair nat nat)) : list (pair address (list (pair address (pair nat nat)))) : mutez : @some : list operation : @parameter%sweepFA2 : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 5; # @parameter%sweepFA2 : list (pair address (pair nat nat)) : list (pair address (list (pair address (pair nat nat)))) : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @parameter%sweepFA2 : @parameter%sweepFA2 : list (pair address (pair nat nat)) : list (pair address (list (pair address (pair nat nat)))) : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : @parameter%sweepFA2 : list (pair address (pair nat nat)) : list (pair address (list (pair address (pair nat nat)))) : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%sweepFA2 : nat : list (pair address (pair nat nat)) : list (pair address (list (pair address (pair nat nat)))) : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # nat : nat : list (pair address (pair nat nat)) : list (pair address (list (pair address (pair nat nat)))) : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 8; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : list (pair address (pair nat nat)) : list (pair address (list (pair address (pair nat nat)))) : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : nat : list (pair address (pair nat nat)) : list (pair address (list (pair address (pair nat nat)))) : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : nat : nat : list (pair address (pair nat nat)) : list (pair address (list (pair address (pair nat nat)))) : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 6; # address : nat : nat : list (pair address (pair nat nat)) : list (pair address (list (pair address (pair nat nat)))) : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR 3; # pair address (pair nat nat) : list (pair address (pair nat nat)) : list (pair address (list (pair address (pair nat nat)))) : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list (pair address (pair nat nat)) : list (pair address (list (pair address (pair nat nat)))) : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : list (pair address (pair nat nat)) : list (pair address (list (pair address (pair nat nat)))) : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair @self (list (pair address (pair nat nat))) : list (pair address (list (pair address (pair nat nat)))) : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list (pair address (list (pair address (pair nat nat)))) : mutez : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + IF_LEFT + { + # == sweepMutez == + # if params: # @parameter%sweepMutez : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # sp.send(self.data.administrator, sp.balance) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 6; # address : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONTRACT %receive unit; # option (contract unit) : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 21; # int : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + BALANCE; # @balance : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNIT; # unit : @balance : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + # sp.send(self.data.administrator, sp.balance) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 6; # address : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONTRACT unit; # option (contract unit) : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 24; # int : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + BALANCE; # @balance : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNIT; # unit : @balance : @some : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + # == transfer == + # sp.verify((params.from_ == sp.sender) | (self.data.ledger[params.from_].approvals[sp.sender] >= params.value), 'FA1.2_NotAllowed') # @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%transfer : @sender : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : @sender : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + PUSH bool True; # bool : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + DUP; # @parameter%transfer : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # nat : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : nat : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : nat : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : nat : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%transfer : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map %approvals address nat) (nat %balance)) : nat : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 404; # int : nat : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # map address nat : nat : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : map address nat : nat : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option nat : nat : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 404; # int : nat : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GE; # bool : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # bool : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "FA1.2_NotAllowed"; # string : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(sp.sender != sp.self_address, 'CT_INTERNAL_CALL') # @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : @self : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NEQ; # bool : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTERNAL_CALL"; # string : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if ~ (self.data.ledger.contains(params.to_)): # @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%transfer : big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.ledger[params.to_] = sp.record(approvals = {}, balance = 0) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # address : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH (option (pair (map address nat) nat)) (Some (Pair {} 0)); # option (pair (map address nat) nat) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 8; # @parameter%transfer : option (pair (map address nat) nat) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # address : option (pair (map address nat) nat) : big_map address (pair (map %approvals address nat) (nat %balance)) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : big_map address (pair (map address nat) nat) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair address (big_map address (pair (map address nat) nat)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair address (big_map address (pair (map address nat) nat)) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if ~ (self.data.borrows.contains(params.to_)): # @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair (nat %interestIndex) (nat %principal)) : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%transfer : big_map address (pair (nat %interestIndex) (nat %principal)) : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # address : big_map address (pair (nat %interestIndex) (nat %principal)) : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.borrows[params.to_] = sp.record(interestIndex = 0, principal = 0) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH (option (pair nat nat)) (Some (Pair 0 0)); # option (pair nat nat) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 8; # @parameter%transfer : option (pair nat nat) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # address : option (pair nat nat) : big_map address (pair (nat %interestIndex) (nat %principal)) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair nat nat) : address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map address (pair nat nat)) address : pair (nat %expScale) (nat %halfExpScale) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.transfer(sp.record(cToken = sp.self_address, dst = params.to_, src = params.from_, transferTokens = params.value), sp.tez(0), sp.contract(sp.TRecord(cToken = sp.TAddress, dst = sp.TAddress, src = sp.TAddress, transferTokens = sp.TNat).layout((("cToken", "src"), ("dst", "transferTokens"))), self.data.comptroller, entrypoint='transferAllowed').open_some()) # @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map address (pair nat nat)) address : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # address : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONTRACT %transferAllowed (pair (pair (address %cToken) (address %src)) (pair (address %dst) (nat %transferTokens))); # option (contract (pair (pair (address %cToken) (address %src)) (pair (address %dst) (nat %transferTokens)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 427; # int : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @some : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%transfer : mutez : @some : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # nat : mutez : @some : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # @parameter%transfer : nat : mutez : @some : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # address : nat : mutez : @some : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair address nat : mutez : @some : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # @parameter%transfer : pair address nat : mutez : @some : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : pair address nat : mutez : @some : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF_ADDRESS; # @self : address : pair address nat : mutez : @some : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair @self address : pair address nat : mutez : @some : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair @self address) (pair address nat) : mutez : @some : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # sp.verify(self.data.ledger[params.from_].balance >= params.value, 'FA1.2_InsufficientBalance') # list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%transfer : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map address nat) nat) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%transfer : big_map address (pair (map address nat) nat) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (map address nat) nat) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map address nat) nat) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 413; # int : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GE; # bool : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "FA1.2_InsufficientBalance"; # string : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.ledger[params.from_].balance = sp.as_nat(self.data.ledger[params.from_].balance - params.value) # list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @parameter%transfer : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map address nat) nat) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%transfer : big_map address (pair (map address nat) nat) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (map address nat) nat) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map address nat) nat) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 416; # int : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 415; # int : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @some : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @some : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair address (big_map address (pair (map address nat) nat)) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair address (big_map address (pair (map address nat) nat)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # address : big_map address (pair (map address nat) nat) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 10; # @parameter%transfer : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # address : address : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # address : big_map address (pair (map address nat) nat) : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map address nat) nat) : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 415; # int : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : @some : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 8; # @some : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 2; # @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option (pair (map address nat) nat) : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : option (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.ledger[params.to_].balance += params.value # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 9; # @parameter%transfer : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # address : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # address : address : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # address : big_map address (pair (map address nat) nat) : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map address nat) nat) : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 417; # int : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @some : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 11; # @parameter%transfer : nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # nat : nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ADD; # nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 2; # @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option (pair (map address nat) nat) : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : option (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : big_map address (pair (map address nat) nat) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair address (big_map address (pair (map address nat) nat)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair address (big_map address (pair (map address nat) nat)) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if params.from_ != sp.sender: # list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter%transfer : @sender : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : @sender : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NEQ; # bool : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # self.data.ledger[params.from_].approvals[sp.sender] = sp.as_nat(self.data.ledger[params.from_].approvals[sp.sender] - params.value) # list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair address (big_map address (pair (map address nat) nat)) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair address (big_map address (pair (map address nat) nat)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # address : big_map address (pair (map address nat) nat) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 9; # @parameter%transfer : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # address : address : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # address : big_map address (pair (map address nat) nat) : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map address nat) nat) : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 419; # int : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @some : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 11; # @parameter%transfer : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 12; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map address nat) nat) : nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 13; # @parameter%transfer : big_map address (pair (map address nat) nat) : nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (map address nat) nat) : nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map address nat) nat) : nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 420; # int : nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # map address nat : nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : map address nat : nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option nat : nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 420; # int : nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SUB; # int : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ISNAT; # option nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 419; # int : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : option nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 1; # @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option (pair (map address nat) nat) : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : option (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : big_map address (pair (map address nat) nat) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair address (big_map address (pair (map address nat) nat)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair address (big_map address (pair (map address nat) nat)) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.ledger[params.from_].approvals[sp.sender] == 0: # list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map address nat) nat) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter%transfer : big_map address (pair (map address nat) nat) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (map address nat) nat) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map address nat) nat) : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 421; # int : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # map address nat : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : map address nat : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option nat : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 421; # int : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # del self.data.ledger[params.from_].approvals[sp.sender] # list operation : @parameter%transfer : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # nat : pair address (big_map address (pair (map address nat) nat)) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair address (big_map address (pair (map address nat) nat)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # address : big_map address (pair (map address nat) nat) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : @parameter%transfer : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 8; # @parameter%transfer : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # address : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # address : address : big_map address (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # address : big_map address (pair (map address nat) nat) : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map address nat) nat) : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 422; # int : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @some : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NONE nat; # option nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : option nat : map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # map address nat : @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 1; # @some : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option (pair (map address nat) nat) : address : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : option (pair (map address nat) nat) : big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map address (pair (map address nat) nat) : address : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # address : big_map address (pair (map address nat) nat) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair address (big_map address (pair (map address nat) nat)) : nat : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair address (big_map address (pair (map address nat) nat)) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair nat (pair address (big_map address (pair (map address nat) nat))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : list operation : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + SWAP; # @parameter%transfer : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + SWAP; # @parameter%transfer : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + IF_LEFT + { + # == updateAccountSnapshot == + # sp.transfer((params, sp.self_entrypoint('setAccountSnapshot')), sp.tez(0), sp.self_entrypoint('getAccountSnapshot')) # @parameter%updateAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : @parameter%updateAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF %getAccountSnapshot; # @self : list operation : @parameter%updateAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH mutez 0; # mutez : @self : list operation : @parameter%updateAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SELF %setAccountSnapshot; # @self : mutez : @self : list operation : @parameter%updateAccountSnapshot : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 4; # @parameter%updateAccountSnapshot : @self : mutez : @self : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair @parameter%updateAccountSnapshot @self : mutez : @self : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + TRANSFER_TOKENS; # operation : list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CONS; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + # == updateMetadata == + # sp.verify(sp.sender == self.data.administrator, 'CT_NOT_ADMIN') # @parameter%updateMetadata : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%updateMetadata : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%updateMetadata : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : @parameter%updateMetadata : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 6; # address : @parameter%updateMetadata : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SENDER; # @sender : address : @parameter%updateMetadata : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @parameter%updateMetadata : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : @parameter%updateMetadata : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_NOT_ADMIN"; # string : @parameter%updateMetadata : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # @parameter%updateMetadata : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%updateMetadata : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # self.data.metadata[params.key] = params.value # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter%updateMetadata : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : @parameter%updateMetadata : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%updateMetadata : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%updateMetadata : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%updateMetadata : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%updateMetadata : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # big_map string bytes : pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa) : pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%updateMetadata : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 6; # @parameter%updateMetadata : big_map string bytes : pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa) : pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%updateMetadata : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # bytes : big_map string bytes : pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa) : pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%updateMetadata : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SOME; # option bytes : big_map string bytes : pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa) : pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : @parameter%updateMetadata : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 6; # @parameter%updateMetadata : option bytes : big_map string bytes : pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa) : pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # string : option bytes : big_map string bytes : pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa) : pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE; # big_map string bytes : pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa) : pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (big_map string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (big_map string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map address (pair nat nat)) address) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map nat (pair (nat %token_id) (map %token_info string bytes))) nat) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + NIL operation; # list operation : list operation : pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # list operation : list operation : pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + ITER + { + CONS; # list operation : pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # list operation : pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUG 2; # pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) : list operation + PAIR; # pair (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))) (big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))))) : list operation + SWAP; # list operation : pair (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))) (big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))))) + PAIR; # pair (list operation) (pair (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))) (big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))))) + }; +view + "accrualBlockNumber" unit nat + { + GET 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + # sp.result(self.data.accrualBlockNumber) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) + GET 3; # nat + }; +view + "balanceOf" address nat + { + UNPAIR 3; # @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # result = sp.local("result", 0) # @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.ledger.contains(params): # nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter : big_map address (pair (map %approvals address nat) (nat %balance)) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + DROP; # @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + DROP; # @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter + # result.value = self.data.ledger[params].balance # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : @parameter + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : @parameter + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : @parameter + SWAP; # @parameter : big_map address (pair (map %approvals address nat) (nat %balance)) + GET; # option (pair (map %approvals address nat) (nat %balance)) + IF_NONE + { + PUSH int 503; # int + FAILWITH; # FAILED + } + {}; # @some + CDR; # nat + } + { + SWAP; # @parameter : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) : nat + DROP; # nat + }; # nat + # sp.result(result.value) # nat + }; +view + "borrowBalanceStoredView" address nat + { + UNPAIR 3; # @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # borrowBalance = sp.local("borrowBalance", 0) # @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.borrows.contains(params): # nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair (nat %interestIndex) (nat %principal)) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter : big_map address (pair (nat %interestIndex) (nat %principal)) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[params]) # nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair (nat %interestIndex) (nat %principal)) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter : big_map address (pair (nat %interestIndex) (nat %principal)) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (nat %interestIndex) (nat %principal)) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 628; # int : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if borrowSnapshot.value.principal > 0: # @some : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @some : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @some : nat : @some : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : @some : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @some : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : @some : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + SWAP; # nat : @some : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # @some : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter : @some : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # @some : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) : @some : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + DROP; # @some : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + # borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex # @some : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + DUP; # @some : @some : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + CAR; # nat : @some : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + DIG 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @some + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @some + GET 3; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : nat : @some + CAR; # nat : nat : @some + DIG 2; # @some : nat : nat + CDR; # nat : nat : nat + MUL; # nat : nat + EDIV; # option (pair nat nat) + IF_NONE + { + PUSH int 631; # int + FAILWITH; # FAILED + } + { + CAR; # nat + }; # nat + } + { + DROP; # nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) : nat + DROP; # nat + }; # nat + } + { + SWAP; # @parameter : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) : nat + DROP; # nat + }; # nat + # sp.result(borrowBalance.value) # nat + }; +view + "comptroller" unit address + { + GET 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + # sp.result(self.data.comptroller) # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) + CDR; # address + }; +view + "exchangeRateStoredView" unit nat + { + UNPAIR 3; # @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) # @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.totalSupply > 0: # nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + DROP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + DROP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + # sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + PUSH nat 0; # nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + GET 10; # nat : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + COMPARE; # int : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + GT; # bool : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + IF + {} + { + PUSH string "DIVISION_BY_ZERO"; # string : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + FAILWITH; # FAILED + }; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + # excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + DUP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + GET 10; # nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + GET 7; # nat : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + GET 9; # nat : nat : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + GET 7; # pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows) : nat : nat : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + CDR; # nat : nat : nat : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + PUSH nat 0; # nat : nat : nat : nat : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + PUSH nat 1000000; # nat : nat : nat : nat : nat : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + DIG 6; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : nat : nat : nat + GET 10; # nat : nat : nat : nat : nat : nat : nat + EDIV; # option (pair nat nat) : nat : nat : nat : nat : nat + IF_NONE + { + PUSH int 19; # int : nat : nat : nat : nat : nat + FAILWITH; # FAILED + } + { + CAR; # nat : nat : nat : nat : nat : nat + }; # nat : nat : nat : nat : nat : nat + SUB; # int : nat : nat : nat : nat + ISNAT; # option nat : nat : nat : nat : nat + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : nat : nat : nat : nat + FAILWITH; # FAILED + } + {}; # @some : nat : nat : nat : nat + ADD; # nat : nat : nat : nat + SUB; # int : nat : nat + ISNAT; # option nat : nat : nat + IF_NONE + { + PUSH int 671; # int : nat : nat + FAILWITH; # FAILED + } + {}; # @some : nat : nat + MUL; # nat : nat + EDIV; # option (pair nat nat) + IF_NONE + { + PUSH int 257; # int + FAILWITH; # FAILED + } + { + CAR; # nat + }; # nat + } + { + SWAP; # @parameter : nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) : nat + DROP; # nat + }; # nat + # sp.result(excRate.value) # nat + }; +view + "getAccountSnapshotView" address (pair (pair (address %account) (nat %borrowBalance)) (pair (nat %cTokenBalance) (nat %exchangeRateMantissa))) + { + UNPAIR 3; # @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # compute_CToken_565 = sp.local("compute_CToken_565", sp.record(account = params, borrowBalance = 0, cTokenBalance = 0, exchangeRateMantissa = 0)) # @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH (pair nat nat) (Pair 0 0); # pair nat nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : pair nat nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter : nat : pair nat nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair @parameter nat : pair nat nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.ledger.contains(params): # pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter : big_map address (pair (map %approvals address nat) (nat %balance)) : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # sp.verify(sp.level == self.data.accrualBlockNumber, 'CT_INTEREST_OLD') # pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator))) : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + LEVEL; # @level : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EQ; # bool : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + {} + { + PUSH string "CT_INTEREST_OLD"; # string : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + }; # pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # compute_CToken_565.value.cTokenBalance = self.data.ledger[params].balance # pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 4; # big_map address (pair (map %approvals address nat) (nat %balance)) : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # @parameter : big_map address (pair (map %approvals address nat) (nat %balance)) : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (map %approvals address nat) (nat %balance)) : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 573; # int : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UPDATE 3; # pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # borrowBalance = sp.local("borrowBalance", 0) # pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.borrows.contains(params): # nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair (nat %interestIndex) (nat %principal)) : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter : big_map address (pair (nat %interestIndex) (nat %principal)) : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MEM; # bool : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + # borrowSnapshot = sp.local("borrowSnapshot", self.data.borrows[params]) # nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 5; # pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller) : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # big_map address (pair (nat %interestIndex) (nat %principal)) : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # @parameter : big_map address (pair (nat %interestIndex) (nat %principal)) : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET; # option (pair (nat %interestIndex) (nat %principal)) : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 628; # int : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + {}; # @some : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if borrowSnapshot.value.principal > 0: # @some : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : @some : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 2; # @some : nat : @some : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : @some : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : @some : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : @some : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + SWAP; # nat : @some : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # @some : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # borrowBalance.value = (borrowSnapshot.value.principal * self.data.borrowIndex) // borrowSnapshot.value.interestIndex # @some : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP; # @some : @some : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : @some : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : @some : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : @some : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock)) : nat : @some : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : nat : @some : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # @some : nat : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CDR; # nat : nat : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + MUL; # nat : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + EDIV; # option (pair nat nat) : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF_NONE + { + PUSH int 631; # int : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + FAILWITH; # FAILED + } + { + CAR; # nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + { + DROP; # nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + }; # nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + } + {}; # nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair @parameter nat) (pair nat nat) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # compute_CToken_565.value.borrowBalance = borrowBalance.value # pair (pair @parameter nat) (pair nat nat) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + UNPAIR; # pair @parameter nat : pair nat nat : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # @parameter : pair nat nat : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 3; # nat : @parameter : pair nat nat : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter : nat : pair nat nat : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair @parameter nat : pair nat nat : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PAIR; # pair (pair @parameter nat) (pair nat nat) : nat : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # excRate = sp.local("excRate", self.data.initialExchangeRateMantissa) # nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 3; # pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa))) : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance)))) : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + CAR; # nat : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + # if self.data.totalSupply > 0: # nat : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + PUSH nat 0; # nat : nat : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DUP 6; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GET 10; # nat : nat : nat : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + COMPARE; # int : nat : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + GT; # bool : nat : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + IF + { + DROP 2; # pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # @parameter : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + DROP; # pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + # sp.verify(self.data.totalSupply > 0, 'DIVISION_BY_ZERO') # pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + PUSH nat 0; # nat : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + GET 10; # nat : nat : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + COMPARE; # int : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + GT; # bool : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + IF + {} + { + PUSH string "DIVISION_BY_ZERO"; # string : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + FAILWITH; # FAILED + }; # pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + # excRate.value = (sp.as_nat((sp.as_nat((self.data.totalSupply // 1000000) - 0, message = 'SUBTRACTION_UNDERFLOW') + self.data.totalBorrows) - self.data.totalReserves) * self.data.expScale) // self.data.totalSupply # pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + DUP 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + GET 10; # nat : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + DUP 3; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + CAR; # pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale)))) : nat : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + GET 7; # nat : nat : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + DUP 4; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + GET 9; # nat : nat : nat : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + DUP 5; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + GET 7; # pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows) : nat : nat : nat : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + CDR; # nat : nat : nat : nat : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + PUSH nat 0; # nat : nat : nat : nat : nat : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + PUSH nat 1000000; # nat : nat : nat : nat : nat : nat : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) + DIG 7; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : nat : nat : nat : nat : nat : pair (pair @parameter nat) (pair nat nat) + GET 10; # nat : nat : nat : nat : nat : nat : nat : pair (pair @parameter nat) (pair nat nat) + EDIV; # option (pair nat nat) : nat : nat : nat : nat : nat : pair (pair @parameter nat) (pair nat nat) + IF_NONE + { + PUSH int 19; # int : nat : nat : nat : nat : nat : pair (pair @parameter nat) (pair nat nat) + FAILWITH; # FAILED + } + { + CAR; # nat : nat : nat : nat : nat : nat : pair (pair @parameter nat) (pair nat nat) + }; # nat : nat : nat : nat : nat : nat : pair (pair @parameter nat) (pair nat nat) + SUB; # int : nat : nat : nat : nat : pair (pair @parameter nat) (pair nat nat) + ISNAT; # option nat : nat : nat : nat : nat : pair (pair @parameter nat) (pair nat nat) + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : nat : nat : nat : nat : pair (pair @parameter nat) (pair nat nat) + FAILWITH; # FAILED + } + {}; # @some : nat : nat : nat : nat : pair (pair @parameter nat) (pair nat nat) + ADD; # nat : nat : nat : nat : pair (pair @parameter nat) (pair nat nat) + SUB; # int : nat : nat : pair (pair @parameter nat) (pair nat nat) + ISNAT; # option nat : nat : nat : pair (pair @parameter nat) (pair nat nat) + IF_NONE + { + PUSH int 671; # int : nat : nat : pair (pair @parameter nat) (pair nat nat) + FAILWITH; # FAILED + } + {}; # @some : nat : nat : pair (pair @parameter nat) (pair nat nat) + MUL; # nat : nat : pair (pair @parameter nat) (pair nat nat) + EDIV; # option (pair nat nat) : pair (pair @parameter nat) (pair nat nat) + IF_NONE + { + PUSH int 257; # int : pair (pair @parameter nat) (pair nat nat) + FAILWITH; # FAILED + } + { + CAR; # nat : pair (pair @parameter nat) (pair nat nat) + }; # nat : pair (pair @parameter nat) (pair nat nat) + } + { + SWAP; # nat : nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : pair (pair @parameter nat) (pair nat nat) : @parameter : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # @parameter : nat : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : nat : pair (pair @parameter nat) (pair nat nat) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # nat : pair (pair @parameter nat) (pair nat nat) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DIG 2; # big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) : nat : pair (pair @parameter nat) (pair nat nat) + DROP; # nat : pair (pair @parameter nat) (pair nat nat) + }; # nat : pair (pair @parameter nat) (pair nat nat) + # compute_CToken_565.value.exchangeRateMantissa = excRate.value # nat : pair (pair @parameter nat) (pair nat nat) + UPDATE 4; # pair (pair @parameter nat) (pair nat nat) + } + { + SWAP; # @parameter : pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # pair (pair @parameter nat) (pair nat nat) : pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # pair (pair (pair (pair (nat %accBorrowBalance) (pair (nat %accCTokenBalance) (nat %accExchangeRateMantissa))) (pair (nat %accrualBlockNumber) (pair (set %activeOperations nat) (address %administrator)))) (pair (pair (nat %borrowIndex) (pair (nat %borrowRateMaxMantissa) (nat %borrowRatePerBlock))) (pair (pair (big_map %borrows address (pair (nat %interestIndex) (nat %principal))) (address %comptroller)) (pair (nat %expScale) (nat %halfExpScale))))) (pair (pair (pair (nat %initialExchangeRateMantissa) (pair (address %interestRateModel) (big_map %ledger address (pair (map %approvals address nat) (nat %balance))))) (pair (big_map %metadata string bytes) (pair (option %pendingAdministrator address) (nat %protocolSeizeShareMantissa)))) (pair (pair (nat %reserveFactorMantissa) (pair (nat %reserveFactorMaxMantissa) (nat %supplyRatePerBlock))) (pair (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalBorrows)) (pair (nat %totalReserves) (nat %totalSupply))))) : pair (pair @parameter nat) (pair nat nat) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + DROP; # pair (pair @parameter nat) (pair nat nat) : big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) + SWAP; # big_map nat (lambda (pair (or (or (or unit (or (contract nat) (pair address nat))) (or nat (or unit nat))) (or (or unit (or address address)) (or address (or nat nat)))) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat)))))) (pair (list operation) (pair (pair (pair (pair nat (pair nat nat)) (pair nat (pair (set nat) address))) (pair (pair nat (pair nat nat)) (pair (pair (big_map address (pair nat nat)) address) (pair nat nat)))) (pair (pair (pair nat (pair address (big_map address (pair (map address nat) nat)))) (pair (big_map string bytes) (pair (option address) nat))) (pair (pair nat (pair nat nat)) (pair (pair (big_map nat (pair nat (map string bytes))) nat) (pair nat nat))))))) : pair (pair @parameter nat) (pair nat nat) + DROP; # pair (pair @parameter nat) (pair nat nat) + }; # pair (pair @parameter nat) (pair nat nat) + # sp.result(compute_CToken_565.value) # pair (pair @parameter nat) (pair nat nat) + }; \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_009_cont_3_sizes.csv b/TezFinTest/CToken_Tests/step_009_cont_3_sizes.csv new file mode 100644 index 00000000..f004e70f --- /dev/null +++ b/TezFinTest/CToken_Tests/step_009_cont_3_sizes.csv @@ -0,0 +1,2 @@ +storage,4614 +contract,19524 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_009_cont_3_storage.json b/TezFinTest/CToken_Tests/step_009_cont_3_storage.json new file mode 100644 index 00000000..ac467b08 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_009_cont_3_storage.json @@ -0,0 +1,1143 @@ +{ + "prim": "Pair", + "args": [ + { + "prim": "Pair", + "args": [ + { + "prim": "Pair", + "args": [ + { + "prim": "Pair", + "args": [ + { "prim": "Pair", "args": [ { "int": "0" }, { "prim": "Pair", "args": [ { "int": "0" }, { "int": "0" } ] } ] }, + { "prim": "Pair", "args": [ { "int": "0" }, { "prim": "Pair", "args": [ [], { "string": "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" } ] } ] } + ] + }, + { + "prim": "Pair", + "args": [ + { "prim": "Pair", "args": [ { "int": "1000000000000000000" }, { "prim": "Pair", "args": [ { "int": "800000000000" }, { "int": "0" } ] } ] }, + { + "prim": "Pair", + "args": [ + { "prim": "Pair", "args": [ [], { "string": "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF" } ] }, + { "prim": "Pair", "args": [ { "int": "1000000000000000000" }, { "int": "500000000000000000" } ] } + ] + } + ] + } + ] + }, + { + "prim": "Pair", + "args": [ + { + "prim": "Pair", + "args": [ + { "prim": "Pair", "args": [ { "int": "1000000000000" }, { "prim": "Pair", "args": [ { "string": "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" }, [] ] } ] }, + { + "prim": "Pair", + "args": [ + [ + { "prim": "Elt", "args": [ { "string": "" }, { "bytes": "74657a6f732d73746f726167653a64617461" } ] }, + { + "prim": "Elt", + "args": [ + { "string": "data" }, + { + "bytes": "7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d" + } + ] + } + ], + { "prim": "Pair", "args": [ { "prim": "None" }, { "int": "100000000000000" } ] } + ] + } + ] + }, + { + "prim": "Pair", + "args": [ + { "prim": "Pair", "args": [ { "int": "50000000000000000" }, { "prim": "Pair", "args": [ { "int": "1000000000000000000" }, { "int": "0" } ] } ] }, + { + "prim": "Pair", + "args": [ + { + "prim": "Pair", + "args": [ + [ + { + "prim": "Elt", + "args": [ + { "int": "0" }, + { + "prim": "Pair", + "args": [ + { "int": "0" }, + [ + { "prim": "Elt", "args": [ { "string": "decimals" }, { "bytes": "78" } ] }, + { "prim": "Elt", "args": [ { "string": "name" }, { "bytes": "436f6d706f756e6420746f6b656e" } ] }, + { "prim": "Elt", "args": [ { "string": "symbol" }, { "bytes": "63546f6b656e" } ] } + ] + ] + } + ] + } + ], + { "int": "0" } + ] + }, + { "prim": "Pair", "args": [ { "int": "0" }, { "int": "0" } ] } + ] + } + ] + } + ] + } + ] + }, + [ + { + "prim": "Elt", + "args": [ + { "int": "0" }, + [ + { "prim": "UNPAIR" }, + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "IF_LEFT", "args": [ [ { "prim": "DROP" } ], [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] ] } ], + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] + ] + } + ], + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "DUP" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_NOT_SET_PENDING_ADMIN" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_NOT_PENDING_ADMIN" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "DUP" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "812" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "5" } ] }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "CDR" }, + { "prim": "NONE", "args": [ { "prim": "address" } ] }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } + ] + ] + }, + { + "prim": "Elt", + "args": [ + { "int": "1" }, + [ + { "prim": "UNPAIR" }, + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ { "prim": "IF_LEFT", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] ] } ] + ] + } + ], + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] + ] + } + ], + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "SELF_ADDRESS" }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTERNAL_FUNCTION" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { + "prim": "CONTRACT", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%borrows" ] }, { "prim": "nat", "annots": [ "%cash" ] } ] }, + { "prim": "pair", "args": [ { "prim": "contract", "args": [ { "prim": "nat" } ], "annots": [ "%cb" ] }, { "prim": "nat", "annots": [ "%reserves" ] } ] } + ] + } + ], + "annots": [ "%getBorrowRate" ] + }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "744" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "PUSH", "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "9" } ] }, + { "prim": "DIG", "args": [ { "int": "4" } ] }, + { "prim": "PAIR" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1000000" } ] }, + { "prim": "DUP", "args": [ { "int": "6" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "EDIV" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "19" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] }, + { "prim": "DUP", "args": [ { "int": "6" } ] }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "CDR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "TRANSFER_TOKENS" }, + { "prim": "CONS" }, + { "prim": "PAIR" } + ] + ] + }, + { + "prim": "Elt", + "args": [ + { "int": "2" }, + [ + { "prim": "UNPAIR" }, + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ { "prim": "IF_LEFT", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], [] ] } ] + ] + } + ], + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] + ] + } + ], + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "SELF_ADDRESS" }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "NEQ" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTERNAL_CALL" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "SENDER" }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "454" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "MEM" }, + { + "prim": "IF", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "bool" }, { "prim": "True" } ] } ], + [ + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1000" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "SENDER" }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "455" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "CAR" }, + { "prim": "SIZE" }, + { "prim": "COMPARE" }, + { "prim": "LT" } + ] + ] + }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "FA1.2_MaxApprovalsReached" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "SENDER" }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "457" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] } ], [] ] }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "bool" }, { "prim": "True" } ] } ], + [ + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "COMPARE" }, + { "prim": "EQ" } + ] + ] + }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "FA1.2_UnsafeAllowanceChange" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { + "prim": "IF", + "args": [ + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "DUP" }, + { "prim": "SENDER" }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "462" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "NONE", "args": [ { "prim": "nat" } ] }, + { "prim": "DIG", "args": [ { "int": "10" } ] }, + { "prim": "CAR" }, + { "prim": "UPDATE" }, + { "prim": "UPDATE", "args": [ { "int": "1" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" } + ], + [ + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "DUP" }, + { "prim": "SENDER" }, + { "prim": "DUP" }, + { "prim": "DUG", "args": [ { "int": "2" } ] }, + { "prim": "GET" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "464" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "10" } ] }, + { "prim": "CDR" }, + { "prim": "SOME" }, + { "prim": "DIG", "args": [ { "int": "10" } ] }, + { "prim": "CAR" }, + { "prim": "UPDATE" }, + { "prim": "UPDATE", "args": [ { "int": "1" } ] }, + { "prim": "SOME" }, + { "prim": "SWAP" }, + { "prim": "UPDATE" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" } + ] + ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } + ] + ] + }, + { + "prim": "Elt", + "args": [ + { "int": "3" }, + [ + { "prim": "UNPAIR" }, + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ { "prim": "IF_LEFT", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] ] } ] + ] + } + ], + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_SENDER_NOT_IRM" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "8" } ] }, + { "prim": "MEM" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "OP_NOT_ACTIVE" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "PUSH", "args": [ { "prim": "bool" }, { "prim": "False" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "8" } ] }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "COMPARE" }, + { "prim": "LE" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INVALID_BORROW_RATE" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "LEVEL" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "759" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "MUL" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "CDR" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "61" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "CDR" }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "ADD" }, + { "prim": "DIG", "args": [ { "int": "4" } ] }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "5" } ] }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "DUG", "args": [ { "int": "3" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "9" } ] }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "DUP", "args": [ { "int": "7" } ] }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "61" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] }, + { "prim": "ADD" }, + { "prim": "DIG", "args": [ { "int": "4" } ] }, + { "prim": "SWAP" }, + { "prim": "UPDATE", "args": [ { "int": "9" } ] }, + { "prim": "DUG", "args": [ { "int": "3" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "7" } ] }, + { "prim": "DUP", "args": [ { "int": "6" } ] }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "5" } ] }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "61" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] }, + { "prim": "ADD" }, + { "prim": "DIG", "args": [ { "int": "4" } ] }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "CDR" }, + { "prim": "DIG", "args": [ { "int": "4" } ] }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "CDR" }, + { "prim": "LEVEL" }, + { "prim": "DIG", "args": [ { "int": "5" } ] }, + { "prim": "DROP" }, + { "prim": "DIG", "args": [ { "int": "5" } ] }, + { "prim": "DROP" }, + { "prim": "DIG", "args": [ { "int": "5" } ] }, + { "prim": "DROP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } + ] + ] + }, + { + "prim": "Elt", + "args": [ + { "int": "4" }, + [ + { "prim": "UNPAIR" }, + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ + { + "prim": "IF_LEFT", + "args": [ [ { "prim": "DROP" } ], [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] ] + } + ] + ] + } + ] + ] + } + ], + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "6" } ] }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_NOT_ADMIN" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "CDR" }, + { "prim": "EMPTY_SET", "args": [ { "prim": "nat" } ] }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } + ] + ] + }, + { + "prim": "Elt", + "args": [ + { "int": "5" }, + [ + { "prim": "UNPAIR" }, + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ { "prim": "IF_LEFT", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], [] ] } ] + ] + } + ] + ] + } + ], + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] + ] + }, + { "prim": "SELF_ADDRESS" }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTERNAL_FUNCTION" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "12" } ] }, + { "prim": "MEM" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "OP_NOT_ACTIVE" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "PUSH", "args": [ { "prim": "bool" }, { "prim": "False" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "12" } ] }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "DUP" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1000000" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "GET", "args": [ { "int": "10" } ] }, + { "prim": "EDIV" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "19" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] }, + { "prim": "COMPARE" }, + { "prim": "GE" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INSUFFICIENT_CASH" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "9" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "COMPARE" }, + { "prim": "LE" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_REDUCE_AMOUNT" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "9" } ] }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { "prim": "IF_NONE", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] ] }, + { "prim": "UPDATE", "args": [ { "int": "9" } ] }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } + ] + ] + }, + { + "prim": "Elt", + "args": [ + { "int": "6" }, + [ + { "prim": "UNPAIR" }, + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "IF_LEFT", "args": [ [ { "prim": "DROP" } ], [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] ] } ], + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] + ] + } + ] + ] + }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "6" } ] }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_NOT_ADMIN" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "CDR" }, + { "prim": "NONE", "args": [ { "prim": "address" } ] }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } + ] + ] + }, + { + "prim": "Elt", + "args": [ + { "int": "7" }, + [ + { "prim": "UNPAIR" }, + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ { "prim": "IF_LEFT", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] ] } ] + ] + } + ], + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] + ] + } + ] + ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "6" } ] }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_NOT_ADMIN" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "5" } ] }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } + ] + ] + }, + { + "prim": "Elt", + "args": [ + { "int": "8" }, + [ + { "prim": "UNPAIR" }, + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ { "prim": "IF_LEFT", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], [] ] } ] + ] + } + ], + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] + ] + } + ] + ] + }, + { "prim": "SELF_ADDRESS" }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTERNAL_FUNCTION" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "9" } ] }, + { "prim": "MEM" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "OP_NOT_ACTIVE" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "PUSH", "args": [ { "prim": "bool" }, { "prim": "False" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "9" } ] }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "CDR" }, + { "prim": "DIG", "args": [ { "int": "5" } ] }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } + ] + ] + }, + { + "prim": "Elt", + "args": [ + { "int": "9" }, + [ + { "prim": "UNPAIR" }, + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ { "prim": "IF_LEFT", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] ] } ] + ] + } + ] + ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "6" } ] }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_NOT_ADMIN" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "CDR" }, + { "prim": "DIG", "args": [ { "int": "5" } ] }, + { "prim": "SOME" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } + ] + ] + }, + { + "prim": "Elt", + "args": [ + { "int": "10" }, + [ + { "prim": "UNPAIR" }, + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ { "prim": "IF_LEFT", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ] ] } ] + ] + } + ] + ] + } + ] + ] + }, + { "prim": "SELF_ADDRESS" }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTERNAL_FUNCTION" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "10" } ] }, + { "prim": "MEM" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "OP_NOT_ACTIVE" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "PUSH", "args": [ { "prim": "bool" }, { "prim": "False" } ] }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "10" } ] }, + { "prim": "UPDATE" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "LEVEL" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INTEREST_OLD" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "GET", "args": [ { "int": "5" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "COMPARE" }, + { "prim": "LE" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_INVALID_RESERVE_FACTOR" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "CDR" }, + { "prim": "DIG", "args": [ { "int": "4" } ] }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } + ] + ] + }, + { + "prim": "Elt", + "args": [ + { "int": "11" }, + [ + { "prim": "UNPAIR" }, + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], + [ { "prim": "IF_LEFT", "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "-1" } ] }, { "prim": "FAILWITH" } ], [] ] } ] + ] + } + ] + ] + } + ] + ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "CAR" }, + { "prim": "GET", "args": [ { "int": "6" } ] }, + { "prim": "SENDER" }, + { "prim": "COMPARE" }, + { "prim": "EQ" }, + { "prim": "IF", "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "CT_NOT_ADMIN" } ] }, { "prim": "FAILWITH" } ] ] }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "UNPAIR" }, + { "prim": "SWAP" }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "5" } ] }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "PAIR" }, + { "prim": "SWAP" }, + { "prim": "PAIR" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } + ] + ] + } + ] + ] +} \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_009_cont_3_storage.py b/TezFinTest/CToken_Tests/step_009_cont_3_storage.py new file mode 100644 index 00000000..4a50d092 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_009_cont_3_storage.py @@ -0,0 +1 @@ +sp.record(accBorrowBalance = 0, accCTokenBalance = 0, accExchangeRateMantissa = 0, accrualBlockNumber = 0, activeOperations = sp.set([]), administrator = sp.address('tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5'), borrowIndex = 1000000000000000000, borrowRateMaxMantissa = 800000000000, borrowRatePerBlock = 0, borrows = {}, comptroller = sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF'), expScale = 1000000000000000000, halfExpScale = 500000000000000000, initialExchangeRateMantissa = 1000000000000, interestRateModel = sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H'), ledger = {}, metadata = {'' : sp.bytes('0x74657a6f732d73746f726167653a64617461'), 'data' : sp.bytes('0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d')}, pendingAdministrator = sp.none, protocolSeizeShareMantissa = 100000000000000, reserveFactorMantissa = 50000000000000000, reserveFactorMaxMantissa = 1000000000000000000, supplyRatePerBlock = 0, token_metadata = {0 : sp.record(token_id = 0, token_info = {'decimals' : sp.bytes('0x78'), 'name' : sp.bytes('0x436f6d706f756e6420746f6b656e'), 'symbol' : sp.bytes('0x63546f6b656e')})}, totalBorrows = 0, totalReserves = 0, totalSupply = 0) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_009_cont_3_storage.tz b/TezFinTest/CToken_Tests/step_009_cont_3_storage.tz new file mode 100644 index 00000000..9c753d61 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_009_cont_3_storage.tz @@ -0,0 +1 @@ +(Pair (Pair (Pair (Pair (Pair 0 (Pair 0 0)) (Pair 0 (Pair {} "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5"))) (Pair (Pair 1000000000000000000 (Pair 800000000000 0)) (Pair (Pair {} "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF") (Pair 1000000000000000000 500000000000000000)))) (Pair (Pair (Pair 1000000000000 (Pair "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" {})) (Pair {Elt "" 0x74657a6f732d73746f726167653a64617461; Elt "data" 0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d} (Pair None 100000000000000))) (Pair (Pair 50000000000000000 (Pair 1000000000000000000 0)) (Pair (Pair {Elt 0 (Pair 0 {Elt "decimals" 0x78; Elt "name" 0x436f6d706f756e6420746f6b656e; Elt "symbol" 0x63546f6b656e})} 0) (Pair 0 0))))) {Elt 0 { UNPAIR; IF_LEFT { IF_LEFT { IF_LEFT { DROP } { PUSH int -1; FAILWITH } } { PUSH int -1; FAILWITH } } { PUSH int -1; FAILWITH }; DUP; GET 3; GET 5; IF_NONE { PUSH string "CT_NOT_SET_PENDING_ADMIN"; FAILWITH } {}; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_NOT_PENDING_ADMIN"; FAILWITH }; DUP; GET 3; GET 5; IF_NONE { PUSH int 812; FAILWITH } {}; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; CAR; DIG 5; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; CDR; NONE address; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; PAIR; NIL operation; PAIR }; Elt 1 { UNPAIR; IF_LEFT { IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT {} { PUSH int -1; FAILWITH } } } { PUSH int -1; FAILWITH } } { PUSH int -1; FAILWITH }; SELF_ADDRESS; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_INTERNAL_FUNCTION"; FAILWITH }; NIL operation; DUP 3; GET 3; CAR; GET 3; CONTRACT %getBorrowRate (pair (pair (nat %borrows) (nat %cash)) (pair (contract %cb nat) (nat %reserves))); IF_NONE { PUSH int 744; FAILWITH } {}; PUSH mutez 0; DUP 5; GET 9; DIG 4; PAIR; PUSH nat 1000000; DUP 6; GET 10; EDIV; IF_NONE { PUSH int 19; FAILWITH } { CAR }; DUP 6; GET 7; CDR; PAIR; PAIR; TRANSFER_TOKENS; CONS; PAIR }; Elt 2 { UNPAIR; IF_LEFT { IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } {} } } { PUSH int -1; FAILWITH } } { PUSH int -1; FAILWITH }; SELF_ADDRESS; SENDER; COMPARE; NEQ; IF {} { PUSH string "CT_INTERNAL_CALL"; FAILWITH }; DUP 2; GET 3; CAR; GET 4; SENDER; GET; IF_NONE { PUSH int 454; FAILWITH } {}; CAR; DUP 2; CAR; MEM; IF { PUSH bool True } { PUSH nat 1000; DUP 3; GET 3; CAR; GET 4; SENDER; GET; IF_NONE { PUSH int 455; FAILWITH } {}; CAR; SIZE; COMPARE; LT }; IF {} { PUSH string "FA1.2_MaxApprovalsReached"; FAILWITH }; PUSH nat 0; DUP 3; GET 3; CAR; GET 4; SENDER; GET; IF_NONE { PUSH int 457; FAILWITH } {}; CAR; DUP 3; CAR; GET; IF_NONE { PUSH nat 0 } {}; COMPARE; EQ; IF { PUSH bool True } { PUSH nat 0; DUP 2; CDR; COMPARE; EQ }; IF {} { PUSH string "FA1.2_UnsafeAllowanceChange"; FAILWITH }; PUSH nat 0; DUP 2; CDR; COMPARE; EQ; IF { SWAP; UNPAIR; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; DUP; SENDER; DUP; DUG 2; GET; IF_NONE { PUSH int 462; FAILWITH } {}; DUP; CAR; NONE nat; DIG 10; CAR; UPDATE; UPDATE 1; SOME; SWAP; UPDATE; SWAP; PAIR; SWAP; PAIR; PAIR; PAIR; SWAP; PAIR } { SWAP; UNPAIR; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; DUP; SENDER; DUP; DUG 2; GET; IF_NONE { PUSH int 464; FAILWITH } {}; DUP; CAR; DUP 10; CDR; SOME; DIG 10; CAR; UPDATE; UPDATE 1; SOME; SWAP; UPDATE; SWAP; PAIR; SWAP; PAIR; PAIR; PAIR; SWAP; PAIR }; NIL operation; PAIR }; Elt 3 { UNPAIR; IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT {} { PUSH int -1; FAILWITH } } } { PUSH int -1; FAILWITH }; DUP 2; GET 3; CAR; GET 3; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_SENDER_NOT_IRM"; FAILWITH }; DUP 2; CAR; CAR; GET 5; PUSH nat 8; MEM; IF {} { PUSH string "OP_NOT_ACTIVE"; FAILWITH }; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; PUSH bool False; PUSH nat 8; UPDATE; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; PAIR; SWAP; DUP 2; CAR; GET 3; GET 3; DUP 2; COMPARE; LE; IF {} { PUSH string "CT_INVALID_BORROW_RATE"; FAILWITH }; DUP 2; CAR; CAR; GET 3; LEVEL; SUB; ISNAT; IF_NONE { PUSH int 759; FAILWITH } {}; DUP 2; MUL; DUP 3; CAR; GET 7; DUP 4; GET 7; CDR; DUP 3; MUL; EDIV; IF_NONE { PUSH int 61; FAILWITH } { CAR }; DUP 4; GET 7; CDR; DUP 2; ADD; DIG 4; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; CAR; DIG 5; SWAP; PAIR; PAIR; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; DUG 3; DUP 4; GET 9; DUP 5; CAR; GET 7; DUP 3; DUP 7; GET 5; CAR; MUL; EDIV; IF_NONE { PUSH int 61; FAILWITH } { CAR }; ADD; DIG 4; SWAP; UPDATE 9; DUG 3; DUP 4; CAR; GET 3; CAR; DUP 5; CAR; GET 7; DUP 6; CAR; GET 3; CAR; DUP 5; MUL; EDIV; IF_NONE { PUSH int 61; FAILWITH } { CAR }; ADD; DIG 4; UNPAIR; UNPAIR; SWAP; UNPAIR; CDR; DIG 4; PAIR; PAIR; SWAP; UNPAIR; SWAP; CDR; LEVEL; DIG 5; DROP; DIG 5; DROP; DIG 5; DROP; PAIR; SWAP; PAIR; PAIR; PAIR; NIL operation; PAIR }; Elt 4 { UNPAIR; IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { DROP } { PUSH int -1; FAILWITH } } } } { PUSH int -1; FAILWITH }; DUP; CAR; CAR; GET 6; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_NOT_ADMIN"; FAILWITH }; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; CDR; EMPTY_SET nat; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; PAIR; NIL operation; PAIR }; Elt 5 { UNPAIR; IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } {} } } } { PUSH int -1; FAILWITH }; SELF_ADDRESS; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_INTERNAL_FUNCTION"; FAILWITH }; DUP 2; CAR; CAR; GET 5; PUSH nat 12; MEM; IF {} { PUSH string "OP_NOT_ACTIVE"; FAILWITH }; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; PUSH bool False; PUSH nat 12; UPDATE; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; PAIR; SWAP; DUP; PUSH nat 1000000; DUP 4; GET 10; EDIV; IF_NONE { PUSH int 19; FAILWITH } { CAR }; COMPARE; GE; IF {} { PUSH string "CT_INSUFFICIENT_CASH"; FAILWITH }; DUP 2; GET 9; DUP 2; COMPARE; LE; IF {} { PUSH string "CT_REDUCE_AMOUNT"; FAILWITH }; DUP 2; GET 9; SUB; ISNAT; IF_NONE { PUSH string "SUBTRACTION_UNDERFLOW"; FAILWITH } {}; UPDATE 9; NIL operation; PAIR }; Elt 6 { UNPAIR; IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { IF_LEFT { DROP } { PUSH int -1; FAILWITH } } { PUSH int -1; FAILWITH } }; DUP; CAR; CAR; GET 6; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_NOT_ADMIN"; FAILWITH }; UNPAIR; SWAP; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; CDR; NONE address; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; PAIR; NIL operation; PAIR }; Elt 7 { UNPAIR; IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT {} { PUSH int -1; FAILWITH } } } { PUSH int -1; FAILWITH } }; DUP 2; CAR; CAR; GET 6; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_NOT_ADMIN"; FAILWITH }; SWAP; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; CAR; DIG 5; SWAP; PAIR; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; NIL operation; PAIR }; Elt 8 { UNPAIR; IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } {} } } { PUSH int -1; FAILWITH } }; SELF_ADDRESS; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_INTERNAL_FUNCTION"; FAILWITH }; DUP 2; CAR; CAR; GET 5; PUSH nat 9; MEM; IF {} { PUSH string "OP_NOT_ACTIVE"; FAILWITH }; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; PUSH bool False; PUSH nat 9; UPDATE; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; CDR; DIG 5; PAIR; SWAP; PAIR; PAIR; PAIR; SWAP; PAIR; NIL operation; PAIR }; Elt 9 { UNPAIR; IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT {} { PUSH int -1; FAILWITH } } }; DUP 2; CAR; CAR; GET 6; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_NOT_ADMIN"; FAILWITH }; SWAP; UNPAIR; SWAP; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; CDR; DIG 5; SOME; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; PAIR; NIL operation; PAIR }; Elt 10 { UNPAIR; IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT {} { PUSH int -1; FAILWITH } } } }; SELF_ADDRESS; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_INTERNAL_FUNCTION"; FAILWITH }; DUP 2; CAR; CAR; GET 5; PUSH nat 10; MEM; IF {} { PUSH string "OP_NOT_ACTIVE"; FAILWITH }; SWAP; UNPAIR; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; PUSH bool False; PUSH nat 10; UPDATE; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; PAIR; SWAP; DUP 2; CAR; CAR; GET 3; LEVEL; COMPARE; EQ; IF {} { PUSH string "CT_INTEREST_OLD"; FAILWITH }; DUP 2; GET 5; GET 3; DUP 2; COMPARE; LE; IF {} { PUSH string "CT_INVALID_RESERVE_FACTOR"; FAILWITH }; SWAP; UNPAIR; SWAP; UNPAIR; SWAP; UNPAIR; CDR; DIG 4; PAIR; PAIR; SWAP; PAIR; SWAP; PAIR; NIL operation; PAIR }; Elt 11 { UNPAIR; IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } { IF_LEFT { PUSH int -1; FAILWITH } {} } } }; DUP 2; CAR; CAR; GET 6; SENDER; COMPARE; EQ; IF {} { PUSH string "CT_NOT_ADMIN"; FAILWITH }; SWAP; UNPAIR; SWAP; UNPAIR; UNPAIR; SWAP; UNPAIR; SWAP; CAR; DIG 5; SWAP; PAIR; SWAP; PAIR; SWAP; PAIR; PAIR; SWAP; PAIR; NIL operation; PAIR }}) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_009_cont_3_types.py b/TezFinTest/CToken_Tests/step_009_cont_3_types.py new file mode 100644 index 00000000..69fe1804 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_009_cont_3_types.py @@ -0,0 +1,6 @@ +import smartpy as sp + +tstorage = sp.TRecord(accBorrowBalance = sp.TNat, accCTokenBalance = sp.TNat, accExchangeRateMantissa = sp.TNat, accrualBlockNumber = sp.TNat, activeOperations = sp.TSet(sp.TNat), administrator = sp.TAddress, borrowIndex = sp.TNat, borrowRateMaxMantissa = sp.TNat, borrowRatePerBlock = sp.TNat, borrows = sp.TBigMap(sp.TAddress, sp.TRecord(interestIndex = sp.TNat, principal = sp.TNat).layout(("interestIndex", "principal"))), comptroller = sp.TAddress, expScale = sp.TNat, halfExpScale = sp.TNat, initialExchangeRateMantissa = sp.TNat, interestRateModel = sp.TAddress, ledger = sp.TBigMap(sp.TAddress, sp.TRecord(approvals = sp.TMap(sp.TAddress, sp.TNat), balance = sp.TNat).layout(("approvals", "balance"))), metadata = sp.TBigMap(sp.TString, sp.TBytes), pendingAdministrator = sp.TOption(sp.TAddress), protocolSeizeShareMantissa = sp.TNat, reserveFactorMantissa = sp.TNat, reserveFactorMaxMantissa = sp.TNat, supplyRatePerBlock = sp.TNat, token_metadata = sp.TBigMap(sp.TNat, sp.TRecord(token_id = sp.TNat, token_info = sp.TMap(sp.TString, sp.TBytes)).layout(("token_id", "token_info"))), totalBorrows = sp.TNat, totalReserves = sp.TNat, totalSupply = sp.TNat).layout((((("accBorrowBalance", ("accCTokenBalance", "accExchangeRateMantissa")), ("accrualBlockNumber", ("activeOperations", "administrator"))), (("borrowIndex", ("borrowRateMaxMantissa", "borrowRatePerBlock")), (("borrows", "comptroller"), ("expScale", "halfExpScale")))), ((("initialExchangeRateMantissa", ("interestRateModel", "ledger")), ("metadata", ("pendingAdministrator", "protocolSeizeShareMantissa"))), (("reserveFactorMantissa", ("reserveFactorMaxMantissa", "supplyRatePerBlock")), (("token_metadata", "totalBorrows"), ("totalReserves", "totalSupply")))))) +tparameter = sp.TVariant(acceptGovernance = sp.TUnit, accrueInterest = sp.TUnit, accrueInterestInternal = sp.TContract(sp.TNat), addReserves = sp.TNat, addReservesInternal = sp.TRecord(addAmount = sp.TNat, originalSender = sp.TAddress).layout(("addAmount", "originalSender")), approve = sp.TRecord(spender = sp.TAddress, value = sp.TNat).layout(("spender", "value")), borrow = sp.TNat, borrowBalanceStored = sp.TPair(sp.TAddress, sp.TContract(sp.TNat)), doAccrueInterest = sp.TNat, exchangeRateStored = sp.TPair(sp.TUnit, sp.TContract(sp.TNat)), getAccountSnapshot = sp.TPair(sp.TAddress, sp.TContract(sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))))), getAllowance = sp.TPair(sp.TRecord(owner = sp.TAddress, spender = sp.TAddress).layout(("owner", "spender")), sp.TContract(sp.TNat)), getBalance = sp.TPair(sp.TAddress, sp.TContract(sp.TNat)), getBalanceOfUnderlying = sp.TPair(sp.TAddress, sp.TContract(sp.TNat)), getCash = sp.TPair(sp.TUnit, sp.TContract(sp.TNat)), getTotalSupply = sp.TPair(sp.TUnit, sp.TContract(sp.TNat)), hardResetOp = sp.TUnit, liquidateBorrow = sp.TRecord(borrower = sp.TAddress, cTokenCollateral = sp.TAddress, repayAmount = sp.TNat).layout(("borrower", ("cTokenCollateral", "repayAmount"))), mint = sp.TNat, redeem = sp.TNat, redeemUnderlying = sp.TNat, reduceReserves = sp.TNat, reduceReservesInternal = sp.TNat, removePendingGovernance = sp.TUnit, repayBorrow = sp.TNat, repayBorrowBehalf = sp.TRecord(borrower = sp.TAddress, repayAmount = sp.TNat).layout(("borrower", "repayAmount")), seize = sp.TRecord(borrower = sp.TAddress, liquidator = sp.TAddress, seizeTokens = sp.TNat).layout(("borrower", ("liquidator", "seizeTokens"))), setAccountSnapshot = sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa"))), setActiveOp = sp.TNat, setComptroller = sp.TAddress, setInterestRateModel = sp.TAddress, setInterestRateModelInternal = sp.TAddress, setPendingGovernance = sp.TAddress, setReserveFactor = sp.TNat, setReserveFactorInternal = sp.TNat, sweepFA12 = sp.TRecord(amount = sp.TNat, tokenAddress = sp.TAddress).layout(("amount", "tokenAddress")), sweepFA2 = sp.TRecord(amount = sp.TNat, id = sp.TNat, tokenAddress = sp.TAddress).layout(("amount", ("id", "tokenAddress"))), sweepMutez = sp.TBool, transfer = sp.TRecord(from_ = sp.TAddress, to_ = sp.TAddress, value = sp.TNat).layout(("from_ as from", ("to_ as to", "value"))), updateAccountSnapshot = sp.TAddress, updateMetadata = sp.TRecord(key = sp.TString, value = sp.TBytes).layout(("key", "value")), updateProtocolSeizeShare = sp.TNat).layout(((((("acceptGovernance", "accrueInterest"), ("accrueInterestInternal", ("addReserves", "addReservesInternal"))), (("approve", "borrow"), ("borrowBalanceStored", ("doAccrueInterest", "exchangeRateStored")))), ((("getAccountSnapshot", "getAllowance"), ("getBalance", ("getBalanceOfUnderlying", "getCash"))), (("getTotalSupply", ("hardResetOp", "liquidateBorrow")), ("mint", ("redeem", "redeemUnderlying"))))), (((("reduceReserves", "reduceReservesInternal"), ("removePendingGovernance", ("repayBorrow", "repayBorrowBehalf"))), (("seize", "setAccountSnapshot"), ("setActiveOp", ("setComptroller", "setInterestRateModel")))), ((("setInterestRateModelInternal", "setPendingGovernance"), ("setReserveFactor", ("setReserveFactorInternal", "sweepFA12"))), (("sweepFA2", ("sweepMutez", "transfer")), ("updateAccountSnapshot", ("updateMetadata", "updateProtocolSeizeShare"))))))) +tprivates = { } +tviews = { "accrualBlockNumber": (sp.TUnit, sp.TNat), "balanceOf": (sp.TAddress, sp.TNat), "borrowBalanceStoredView": (sp.TAddress, sp.TNat), "comptroller": (sp.TUnit, sp.TAddress), "exchangeRateStoredView": (sp.TUnit, sp.TNat), "getAccountSnapshotView": (sp.TAddress, sp.TRecord(account = sp.TAddress, borrowBalance = sp.TNat, cTokenBalance = sp.TNat, exchangeRateMantissa = sp.TNat).layout((("account", "borrowBalance"), ("cTokenBalance", "exchangeRateMantissa")))) } diff --git a/TezFinTest/CToken_Tests/step_011_cont_3_params.json b/TezFinTest/CToken_Tests/step_011_cont_3_params.json new file mode 100644 index 00000000..5f96d039 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_011_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "100" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_011_cont_3_params.py b/TezFinTest/CToken_Tests/step_011_cont_3_params.py new file mode 100644 index 00000000..105d7d9a --- /dev/null +++ b/TezFinTest/CToken_Tests/step_011_cont_3_params.py @@ -0,0 +1 @@ +100 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_011_cont_3_params.tz b/TezFinTest/CToken_Tests/step_011_cont_3_params.tz new file mode 100644 index 00000000..105d7d9a --- /dev/null +++ b/TezFinTest/CToken_Tests/step_011_cont_3_params.tz @@ -0,0 +1 @@ +100 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_013_cont_3_params.json b/TezFinTest/CToken_Tests/step_013_cont_3_params.json new file mode 100644 index 00000000..e511f8c9 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_013_cont_3_params.json @@ -0,0 +1 @@ +{ "string": "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_013_cont_3_params.py b/TezFinTest/CToken_Tests/step_013_cont_3_params.py new file mode 100644 index 00000000..5993ef12 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_013_cont_3_params.py @@ -0,0 +1 @@ +sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_013_cont_3_params.tz b/TezFinTest/CToken_Tests/step_013_cont_3_params.tz new file mode 100644 index 00000000..cbfb5dff --- /dev/null +++ b/TezFinTest/CToken_Tests/step_013_cont_3_params.tz @@ -0,0 +1 @@ +"tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_020_cont_3_params.json b/TezFinTest/CToken_Tests/step_020_cont_3_params.json new file mode 100644 index 00000000..5f96d039 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_020_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "100" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_020_cont_3_params.py b/TezFinTest/CToken_Tests/step_020_cont_3_params.py new file mode 100644 index 00000000..105d7d9a --- /dev/null +++ b/TezFinTest/CToken_Tests/step_020_cont_3_params.py @@ -0,0 +1 @@ +100 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_020_cont_3_params.tz b/TezFinTest/CToken_Tests/step_020_cont_3_params.tz new file mode 100644 index 00000000..105d7d9a --- /dev/null +++ b/TezFinTest/CToken_Tests/step_020_cont_3_params.tz @@ -0,0 +1 @@ +100 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_026_cont_1_params.json b/TezFinTest/CToken_Tests/step_026_cont_1_params.json new file mode 100644 index 00000000..1c5214ff --- /dev/null +++ b/TezFinTest/CToken_Tests/step_026_cont_1_params.json @@ -0,0 +1 @@ +{ "prim": "False" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_026_cont_1_params.py b/TezFinTest/CToken_Tests/step_026_cont_1_params.py new file mode 100644 index 00000000..c1f22fbc --- /dev/null +++ b/TezFinTest/CToken_Tests/step_026_cont_1_params.py @@ -0,0 +1 @@ +False \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_026_cont_1_params.tz b/TezFinTest/CToken_Tests/step_026_cont_1_params.tz new file mode 100644 index 00000000..c1f22fbc --- /dev/null +++ b/TezFinTest/CToken_Tests/step_026_cont_1_params.tz @@ -0,0 +1 @@ +False \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_027_cont_3_params.json b/TezFinTest/CToken_Tests/step_027_cont_3_params.json index 4bdbeee7..a926b557 100644 --- a/TezFinTest/CToken_Tests/step_027_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_027_cont_3_params.json @@ -1 +1 @@ -{ "int": "1000" } \ No newline at end of file +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_027_cont_3_params.py b/TezFinTest/CToken_Tests/step_027_cont_3_params.py index e37d32ab..4efe363e 100644 --- a/TezFinTest/CToken_Tests/step_027_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_027_cont_3_params.py @@ -1 +1 @@ -1000 \ No newline at end of file +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_027_cont_3_params.tz b/TezFinTest/CToken_Tests/step_027_cont_3_params.tz index e37d32ab..d75d7710 100644 --- a/TezFinTest/CToken_Tests/step_027_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_027_cont_3_params.tz @@ -1 +1 @@ -1000 \ No newline at end of file +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_028_cont_3_params.json b/TezFinTest/CToken_Tests/step_028_cont_3_params.json new file mode 100644 index 00000000..5f96d039 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_028_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "100" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_028_cont_3_params.py b/TezFinTest/CToken_Tests/step_028_cont_3_params.py new file mode 100644 index 00000000..105d7d9a --- /dev/null +++ b/TezFinTest/CToken_Tests/step_028_cont_3_params.py @@ -0,0 +1 @@ +100 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_028_cont_3_params.tz b/TezFinTest/CToken_Tests/step_028_cont_3_params.tz new file mode 100644 index 00000000..105d7d9a --- /dev/null +++ b/TezFinTest/CToken_Tests/step_028_cont_3_params.tz @@ -0,0 +1 @@ +100 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_030_cont_1_params.json b/TezFinTest/CToken_Tests/step_030_cont_1_params.json new file mode 100644 index 00000000..3d723e70 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_030_cont_1_params.json @@ -0,0 +1 @@ +{ "prim": "True" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_030_cont_1_params.py b/TezFinTest/CToken_Tests/step_030_cont_1_params.py new file mode 100644 index 00000000..4791ed55 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_030_cont_1_params.py @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_030_cont_1_params.tz b/TezFinTest/CToken_Tests/step_030_cont_1_params.tz new file mode 100644 index 00000000..4791ed55 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_030_cont_1_params.tz @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_031_cont_3_params.json b/TezFinTest/CToken_Tests/step_031_cont_3_params.json new file mode 100644 index 00000000..a926b557 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_031_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_031_cont_3_params.py b/TezFinTest/CToken_Tests/step_031_cont_3_params.py new file mode 100644 index 00000000..4efe363e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_031_cont_3_params.py @@ -0,0 +1 @@ +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_031_cont_3_params.tz b/TezFinTest/CToken_Tests/step_031_cont_3_params.tz new file mode 100644 index 00000000..d75d7710 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_031_cont_3_params.tz @@ -0,0 +1 @@ +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_032_cont_3_params.json b/TezFinTest/CToken_Tests/step_032_cont_3_params.json new file mode 100644 index 00000000..4bdbeee7 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_032_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "1000" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_032_cont_3_params.py b/TezFinTest/CToken_Tests/step_032_cont_3_params.py new file mode 100644 index 00000000..e37d32ab --- /dev/null +++ b/TezFinTest/CToken_Tests/step_032_cont_3_params.py @@ -0,0 +1 @@ +1000 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_032_cont_3_params.tz b/TezFinTest/CToken_Tests/step_032_cont_3_params.tz new file mode 100644 index 00000000..e37d32ab --- /dev/null +++ b/TezFinTest/CToken_Tests/step_032_cont_3_params.tz @@ -0,0 +1 @@ +1000 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_035_cont_3_params.json b/TezFinTest/CToken_Tests/step_035_cont_3_params.json new file mode 100644 index 00000000..8c276b29 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_035_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "prim": "Unit" }, { "string": "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%mint" } ] } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_035_cont_3_params.py b/TezFinTest/CToken_Tests/step_035_cont_3_params.py new file mode 100644 index 00000000..df70454c --- /dev/null +++ b/TezFinTest/CToken_Tests/step_035_cont_3_params.py @@ -0,0 +1 @@ +(sp.unit, sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%mint')).open_some()) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_035_cont_3_params.tz b/TezFinTest/CToken_Tests/step_035_cont_3_params.tz new file mode 100644 index 00000000..7b659554 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_035_cont_3_params.tz @@ -0,0 +1 @@ +(Pair Unit "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%mint") \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_038_cont_3_params.json b/TezFinTest/CToken_Tests/step_038_cont_3_params.json new file mode 100644 index 00000000..a926b557 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_038_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_038_cont_3_params.py b/TezFinTest/CToken_Tests/step_038_cont_3_params.py new file mode 100644 index 00000000..4efe363e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_038_cont_3_params.py @@ -0,0 +1 @@ +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_038_cont_3_params.tz b/TezFinTest/CToken_Tests/step_038_cont_3_params.tz new file mode 100644 index 00000000..d75d7710 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_038_cont_3_params.tz @@ -0,0 +1 @@ +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_039_cont_1_params.json b/TezFinTest/CToken_Tests/step_039_cont_1_params.json new file mode 100644 index 00000000..58a0996d --- /dev/null +++ b/TezFinTest/CToken_Tests/step_039_cont_1_params.json @@ -0,0 +1 @@ +{ "string": "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_039_cont_1_params.py b/TezFinTest/CToken_Tests/step_039_cont_1_params.py new file mode 100644 index 00000000..be0e12fa --- /dev/null +++ b/TezFinTest/CToken_Tests/step_039_cont_1_params.py @@ -0,0 +1 @@ +sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_039_cont_1_params.tz b/TezFinTest/CToken_Tests/step_039_cont_1_params.tz new file mode 100644 index 00000000..0fd38f13 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_039_cont_1_params.tz @@ -0,0 +1 @@ +"KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_040_cont_1_params.json b/TezFinTest/CToken_Tests/step_040_cont_1_params.json new file mode 100644 index 00000000..95933521 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_040_cont_1_params.json @@ -0,0 +1 @@ +{ "string": "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_040_cont_1_params.py b/TezFinTest/CToken_Tests/step_040_cont_1_params.py new file mode 100644 index 00000000..e2d34cf1 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_040_cont_1_params.py @@ -0,0 +1 @@ +sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_040_cont_1_params.tz b/TezFinTest/CToken_Tests/step_040_cont_1_params.tz new file mode 100644 index 00000000..2296eec9 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_040_cont_1_params.tz @@ -0,0 +1 @@ +"tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_042_cont_3_params.json b/TezFinTest/CToken_Tests/step_042_cont_3_params.json new file mode 100644 index 00000000..d3e2630e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_042_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "10" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_042_cont_3_params.py b/TezFinTest/CToken_Tests/step_042_cont_3_params.py new file mode 100644 index 00000000..9a037142 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_042_cont_3_params.py @@ -0,0 +1 @@ +10 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_042_cont_3_params.tz b/TezFinTest/CToken_Tests/step_042_cont_3_params.tz new file mode 100644 index 00000000..9a037142 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_042_cont_3_params.tz @@ -0,0 +1 @@ +10 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_044_cont_3_params.json b/TezFinTest/CToken_Tests/step_044_cont_3_params.json new file mode 100644 index 00000000..d3e2630e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_044_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "10" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_044_cont_3_params.py b/TezFinTest/CToken_Tests/step_044_cont_3_params.py new file mode 100644 index 00000000..9a037142 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_044_cont_3_params.py @@ -0,0 +1 @@ +10 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_044_cont_3_params.tz b/TezFinTest/CToken_Tests/step_044_cont_3_params.tz new file mode 100644 index 00000000..9a037142 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_044_cont_3_params.tz @@ -0,0 +1 @@ +10 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_048_cont_1_params.json b/TezFinTest/CToken_Tests/step_048_cont_1_params.json new file mode 100644 index 00000000..1c5214ff --- /dev/null +++ b/TezFinTest/CToken_Tests/step_048_cont_1_params.json @@ -0,0 +1 @@ +{ "prim": "False" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_048_cont_1_params.py b/TezFinTest/CToken_Tests/step_048_cont_1_params.py new file mode 100644 index 00000000..c1f22fbc --- /dev/null +++ b/TezFinTest/CToken_Tests/step_048_cont_1_params.py @@ -0,0 +1 @@ +False \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_048_cont_1_params.tz b/TezFinTest/CToken_Tests/step_048_cont_1_params.tz new file mode 100644 index 00000000..c1f22fbc --- /dev/null +++ b/TezFinTest/CToken_Tests/step_048_cont_1_params.tz @@ -0,0 +1 @@ +False \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_049_cont_3_params.json b/TezFinTest/CToken_Tests/step_049_cont_3_params.json new file mode 100644 index 00000000..a926b557 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_049_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_049_cont_3_params.py b/TezFinTest/CToken_Tests/step_049_cont_3_params.py new file mode 100644 index 00000000..4efe363e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_049_cont_3_params.py @@ -0,0 +1 @@ +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_049_cont_3_params.tz b/TezFinTest/CToken_Tests/step_049_cont_3_params.tz new file mode 100644 index 00000000..d75d7710 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_049_cont_3_params.tz @@ -0,0 +1 @@ +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_050_cont_3_params.json b/TezFinTest/CToken_Tests/step_050_cont_3_params.json new file mode 100644 index 00000000..d3e2630e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_050_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "10" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_050_cont_3_params.py b/TezFinTest/CToken_Tests/step_050_cont_3_params.py new file mode 100644 index 00000000..9a037142 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_050_cont_3_params.py @@ -0,0 +1 @@ +10 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_050_cont_3_params.tz b/TezFinTest/CToken_Tests/step_050_cont_3_params.tz new file mode 100644 index 00000000..9a037142 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_050_cont_3_params.tz @@ -0,0 +1 @@ +10 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_052_cont_3_params.json b/TezFinTest/CToken_Tests/step_052_cont_3_params.json index d3e2630e..a926b557 100644 --- a/TezFinTest/CToken_Tests/step_052_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_052_cont_3_params.json @@ -1 +1 @@ -{ "int": "10" } \ No newline at end of file +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_052_cont_3_params.py b/TezFinTest/CToken_Tests/step_052_cont_3_params.py index 9a037142..4efe363e 100644 --- a/TezFinTest/CToken_Tests/step_052_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_052_cont_3_params.py @@ -1 +1 @@ -10 \ No newline at end of file +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_052_cont_3_params.tz b/TezFinTest/CToken_Tests/step_052_cont_3_params.tz index 9a037142..d75d7710 100644 --- a/TezFinTest/CToken_Tests/step_052_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_052_cont_3_params.tz @@ -1 +1 @@ -10 \ No newline at end of file +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_053_cont_1_params.json b/TezFinTest/CToken_Tests/step_053_cont_1_params.json new file mode 100644 index 00000000..58a0996d --- /dev/null +++ b/TezFinTest/CToken_Tests/step_053_cont_1_params.json @@ -0,0 +1 @@ +{ "string": "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_053_cont_1_params.py b/TezFinTest/CToken_Tests/step_053_cont_1_params.py new file mode 100644 index 00000000..be0e12fa --- /dev/null +++ b/TezFinTest/CToken_Tests/step_053_cont_1_params.py @@ -0,0 +1 @@ +sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_053_cont_1_params.tz b/TezFinTest/CToken_Tests/step_053_cont_1_params.tz new file mode 100644 index 00000000..0fd38f13 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_053_cont_1_params.tz @@ -0,0 +1 @@ +"KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_054_cont_1_params.json b/TezFinTest/CToken_Tests/step_054_cont_1_params.json new file mode 100644 index 00000000..95933521 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_054_cont_1_params.json @@ -0,0 +1 @@ +{ "string": "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_054_cont_1_params.py b/TezFinTest/CToken_Tests/step_054_cont_1_params.py new file mode 100644 index 00000000..e2d34cf1 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_054_cont_1_params.py @@ -0,0 +1 @@ +sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_054_cont_1_params.tz b/TezFinTest/CToken_Tests/step_054_cont_1_params.tz new file mode 100644 index 00000000..2296eec9 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_054_cont_1_params.tz @@ -0,0 +1 @@ +"tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_055_cont_1_params.json b/TezFinTest/CToken_Tests/step_055_cont_1_params.json new file mode 100644 index 00000000..3d723e70 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_055_cont_1_params.json @@ -0,0 +1 @@ +{ "prim": "True" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_055_cont_1_params.py b/TezFinTest/CToken_Tests/step_055_cont_1_params.py new file mode 100644 index 00000000..4791ed55 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_055_cont_1_params.py @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_055_cont_1_params.tz b/TezFinTest/CToken_Tests/step_055_cont_1_params.tz new file mode 100644 index 00000000..4791ed55 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_055_cont_1_params.tz @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_056_cont_3_params.json b/TezFinTest/CToken_Tests/step_056_cont_3_params.json index a926b557..d3e2630e 100644 --- a/TezFinTest/CToken_Tests/step_056_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_056_cont_3_params.json @@ -1 +1 @@ -{ "prim": "Unit" } \ No newline at end of file +{ "int": "10" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_056_cont_3_params.py b/TezFinTest/CToken_Tests/step_056_cont_3_params.py index 4efe363e..9a037142 100644 --- a/TezFinTest/CToken_Tests/step_056_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_056_cont_3_params.py @@ -1 +1 @@ -sp.unit \ No newline at end of file +10 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_056_cont_3_params.tz b/TezFinTest/CToken_Tests/step_056_cont_3_params.tz index d75d7710..9a037142 100644 --- a/TezFinTest/CToken_Tests/step_056_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_056_cont_3_params.tz @@ -1 +1 @@ -Unit \ No newline at end of file +10 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_060_cont_3_params.json b/TezFinTest/CToken_Tests/step_060_cont_3_params.json new file mode 100644 index 00000000..a926b557 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_060_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_060_cont_3_params.py b/TezFinTest/CToken_Tests/step_060_cont_3_params.py new file mode 100644 index 00000000..4efe363e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_060_cont_3_params.py @@ -0,0 +1 @@ +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_060_cont_3_params.tz b/TezFinTest/CToken_Tests/step_060_cont_3_params.tz new file mode 100644 index 00000000..d75d7710 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_060_cont_3_params.tz @@ -0,0 +1 @@ +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_061_cont_3_params.json b/TezFinTest/CToken_Tests/step_061_cont_3_params.json new file mode 100644 index 00000000..dca4cbac --- /dev/null +++ b/TezFinTest/CToken_Tests/step_061_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "1100000001" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_061_cont_3_params.py b/TezFinTest/CToken_Tests/step_061_cont_3_params.py new file mode 100644 index 00000000..95c243de --- /dev/null +++ b/TezFinTest/CToken_Tests/step_061_cont_3_params.py @@ -0,0 +1 @@ +1100000001 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_061_cont_3_params.tz b/TezFinTest/CToken_Tests/step_061_cont_3_params.tz new file mode 100644 index 00000000..95c243de --- /dev/null +++ b/TezFinTest/CToken_Tests/step_061_cont_3_params.tz @@ -0,0 +1 @@ +1100000001 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_063_cont_3_params.json b/TezFinTest/CToken_Tests/step_063_cont_3_params.json new file mode 100644 index 00000000..03c4dec4 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_063_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "prim": "Unit" }, { "string": "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%borrow" } ] } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_063_cont_3_params.py b/TezFinTest/CToken_Tests/step_063_cont_3_params.py new file mode 100644 index 00000000..3843641d --- /dev/null +++ b/TezFinTest/CToken_Tests/step_063_cont_3_params.py @@ -0,0 +1 @@ +(sp.unit, sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%borrow')).open_some()) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_063_cont_3_params.tz b/TezFinTest/CToken_Tests/step_063_cont_3_params.tz new file mode 100644 index 00000000..7df4ac38 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_063_cont_3_params.tz @@ -0,0 +1 @@ +(Pair Unit "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%borrow") \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_066_cont_3_params.json b/TezFinTest/CToken_Tests/step_066_cont_3_params.json index d6596502..a926b557 100644 --- a/TezFinTest/CToken_Tests/step_066_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_066_cont_3_params.json @@ -1 +1 @@ -{ "int": "50000000" } \ No newline at end of file +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_066_cont_3_params.py b/TezFinTest/CToken_Tests/step_066_cont_3_params.py index 5abd4ab3..4efe363e 100644 --- a/TezFinTest/CToken_Tests/step_066_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_066_cont_3_params.py @@ -1 +1 @@ -50000000 \ No newline at end of file +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_066_cont_3_params.tz b/TezFinTest/CToken_Tests/step_066_cont_3_params.tz index 5abd4ab3..d75d7710 100644 --- a/TezFinTest/CToken_Tests/step_066_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_066_cont_3_params.tz @@ -1 +1 @@ -50000000 \ No newline at end of file +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_067_cont_1_params.json b/TezFinTest/CToken_Tests/step_067_cont_1_params.json new file mode 100644 index 00000000..58a0996d --- /dev/null +++ b/TezFinTest/CToken_Tests/step_067_cont_1_params.json @@ -0,0 +1 @@ +{ "string": "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_067_cont_1_params.py b/TezFinTest/CToken_Tests/step_067_cont_1_params.py new file mode 100644 index 00000000..be0e12fa --- /dev/null +++ b/TezFinTest/CToken_Tests/step_067_cont_1_params.py @@ -0,0 +1 @@ +sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_067_cont_1_params.tz b/TezFinTest/CToken_Tests/step_067_cont_1_params.tz new file mode 100644 index 00000000..0fd38f13 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_067_cont_1_params.tz @@ -0,0 +1 @@ +"KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_068_cont_1_params.json b/TezFinTest/CToken_Tests/step_068_cont_1_params.json new file mode 100644 index 00000000..0aae7239 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_068_cont_1_params.json @@ -0,0 +1 @@ +{ "string": "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_068_cont_1_params.py b/TezFinTest/CToken_Tests/step_068_cont_1_params.py new file mode 100644 index 00000000..dd8d030c --- /dev/null +++ b/TezFinTest/CToken_Tests/step_068_cont_1_params.py @@ -0,0 +1 @@ +sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_068_cont_1_params.tz b/TezFinTest/CToken_Tests/step_068_cont_1_params.tz new file mode 100644 index 00000000..bc7697b8 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_068_cont_1_params.tz @@ -0,0 +1 @@ +"tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_070_cont_3_params.json b/TezFinTest/CToken_Tests/step_070_cont_3_params.json new file mode 100644 index 00000000..d6596502 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_070_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "50000000" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_070_cont_3_params.py b/TezFinTest/CToken_Tests/step_070_cont_3_params.py new file mode 100644 index 00000000..5abd4ab3 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_070_cont_3_params.py @@ -0,0 +1 @@ +50000000 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_070_cont_3_params.tz b/TezFinTest/CToken_Tests/step_070_cont_3_params.tz new file mode 100644 index 00000000..5abd4ab3 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_070_cont_3_params.tz @@ -0,0 +1 @@ +50000000 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_072_cont_3_params.json b/TezFinTest/CToken_Tests/step_072_cont_3_params.json new file mode 100644 index 00000000..d6596502 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_072_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "50000000" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_072_cont_3_params.py b/TezFinTest/CToken_Tests/step_072_cont_3_params.py new file mode 100644 index 00000000..5abd4ab3 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_072_cont_3_params.py @@ -0,0 +1 @@ +50000000 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_072_cont_3_params.tz b/TezFinTest/CToken_Tests/step_072_cont_3_params.tz new file mode 100644 index 00000000..5abd4ab3 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_072_cont_3_params.tz @@ -0,0 +1 @@ +50000000 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_075_cont_1_params.json b/TezFinTest/CToken_Tests/step_075_cont_1_params.json index 95933521..1c5214ff 100644 --- a/TezFinTest/CToken_Tests/step_075_cont_1_params.json +++ b/TezFinTest/CToken_Tests/step_075_cont_1_params.json @@ -1 +1 @@ -{ "string": "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" } \ No newline at end of file +{ "prim": "False" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_075_cont_1_params.py b/TezFinTest/CToken_Tests/step_075_cont_1_params.py index e2d34cf1..c1f22fbc 100644 --- a/TezFinTest/CToken_Tests/step_075_cont_1_params.py +++ b/TezFinTest/CToken_Tests/step_075_cont_1_params.py @@ -1 +1 @@ -sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58') \ No newline at end of file +False \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_075_cont_1_params.tz b/TezFinTest/CToken_Tests/step_075_cont_1_params.tz index 2296eec9..c1f22fbc 100644 --- a/TezFinTest/CToken_Tests/step_075_cont_1_params.tz +++ b/TezFinTest/CToken_Tests/step_075_cont_1_params.tz @@ -1 +1 @@ -"tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" \ No newline at end of file +False \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_076_cont_3_params.json b/TezFinTest/CToken_Tests/step_076_cont_3_params.json index 475cbb6e..a926b557 100644 --- a/TezFinTest/CToken_Tests/step_076_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_076_cont_3_params.json @@ -1 +1 @@ -{ "int": "10000000" } \ No newline at end of file +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_076_cont_3_params.py b/TezFinTest/CToken_Tests/step_076_cont_3_params.py index 3b906d1a..4efe363e 100644 --- a/TezFinTest/CToken_Tests/step_076_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_076_cont_3_params.py @@ -1 +1 @@ -10000000 \ No newline at end of file +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_076_cont_3_params.tz b/TezFinTest/CToken_Tests/step_076_cont_3_params.tz index 3b906d1a..d75d7710 100644 --- a/TezFinTest/CToken_Tests/step_076_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_076_cont_3_params.tz @@ -1 +1 @@ -10000000 \ No newline at end of file +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_077_cont_1_params.json b/TezFinTest/CToken_Tests/step_077_cont_1_params.json new file mode 100644 index 00000000..58a0996d --- /dev/null +++ b/TezFinTest/CToken_Tests/step_077_cont_1_params.json @@ -0,0 +1 @@ +{ "string": "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_077_cont_1_params.py b/TezFinTest/CToken_Tests/step_077_cont_1_params.py new file mode 100644 index 00000000..be0e12fa --- /dev/null +++ b/TezFinTest/CToken_Tests/step_077_cont_1_params.py @@ -0,0 +1 @@ +sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_077_cont_1_params.tz b/TezFinTest/CToken_Tests/step_077_cont_1_params.tz new file mode 100644 index 00000000..0fd38f13 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_077_cont_1_params.tz @@ -0,0 +1 @@ +"KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_078_cont_1_params.json b/TezFinTest/CToken_Tests/step_078_cont_1_params.json new file mode 100644 index 00000000..95933521 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_078_cont_1_params.json @@ -0,0 +1 @@ +{ "string": "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_078_cont_1_params.py b/TezFinTest/CToken_Tests/step_078_cont_1_params.py new file mode 100644 index 00000000..e2d34cf1 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_078_cont_1_params.py @@ -0,0 +1 @@ +sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_078_cont_1_params.tz b/TezFinTest/CToken_Tests/step_078_cont_1_params.tz new file mode 100644 index 00000000..2296eec9 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_078_cont_1_params.tz @@ -0,0 +1 @@ +"tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_079_cont_3_params.json b/TezFinTest/CToken_Tests/step_079_cont_3_params.json new file mode 100644 index 00000000..475cbb6e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_079_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "10000000" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_079_cont_3_params.py b/TezFinTest/CToken_Tests/step_079_cont_3_params.py new file mode 100644 index 00000000..3b906d1a --- /dev/null +++ b/TezFinTest/CToken_Tests/step_079_cont_3_params.py @@ -0,0 +1 @@ +10000000 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_079_cont_3_params.tz b/TezFinTest/CToken_Tests/step_079_cont_3_params.tz new file mode 100644 index 00000000..3b906d1a --- /dev/null +++ b/TezFinTest/CToken_Tests/step_079_cont_3_params.tz @@ -0,0 +1 @@ +10000000 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_081_cont_3_params.json b/TezFinTest/CToken_Tests/step_081_cont_3_params.json new file mode 100644 index 00000000..a926b557 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_081_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_081_cont_3_params.py b/TezFinTest/CToken_Tests/step_081_cont_3_params.py new file mode 100644 index 00000000..4efe363e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_081_cont_3_params.py @@ -0,0 +1 @@ +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_081_cont_3_params.tz b/TezFinTest/CToken_Tests/step_081_cont_3_params.tz new file mode 100644 index 00000000..d75d7710 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_081_cont_3_params.tz @@ -0,0 +1 @@ +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_082_cont_1_params.json b/TezFinTest/CToken_Tests/step_082_cont_1_params.json new file mode 100644 index 00000000..58a0996d --- /dev/null +++ b/TezFinTest/CToken_Tests/step_082_cont_1_params.json @@ -0,0 +1 @@ +{ "string": "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_082_cont_1_params.py b/TezFinTest/CToken_Tests/step_082_cont_1_params.py new file mode 100644 index 00000000..be0e12fa --- /dev/null +++ b/TezFinTest/CToken_Tests/step_082_cont_1_params.py @@ -0,0 +1 @@ +sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_082_cont_1_params.tz b/TezFinTest/CToken_Tests/step_082_cont_1_params.tz new file mode 100644 index 00000000..0fd38f13 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_082_cont_1_params.tz @@ -0,0 +1 @@ +"KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_083_cont_1_params.json b/TezFinTest/CToken_Tests/step_083_cont_1_params.json new file mode 100644 index 00000000..95933521 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_083_cont_1_params.json @@ -0,0 +1 @@ +{ "string": "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_083_cont_1_params.py b/TezFinTest/CToken_Tests/step_083_cont_1_params.py new file mode 100644 index 00000000..e2d34cf1 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_083_cont_1_params.py @@ -0,0 +1 @@ +sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_083_cont_1_params.tz b/TezFinTest/CToken_Tests/step_083_cont_1_params.tz new file mode 100644 index 00000000..2296eec9 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_083_cont_1_params.tz @@ -0,0 +1 @@ +"tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_084_cont_1_params.json b/TezFinTest/CToken_Tests/step_084_cont_1_params.json new file mode 100644 index 00000000..3d723e70 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_084_cont_1_params.json @@ -0,0 +1 @@ +{ "prim": "True" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_084_cont_1_params.py b/TezFinTest/CToken_Tests/step_084_cont_1_params.py new file mode 100644 index 00000000..4791ed55 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_084_cont_1_params.py @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_084_cont_1_params.tz b/TezFinTest/CToken_Tests/step_084_cont_1_params.tz new file mode 100644 index 00000000..4791ed55 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_084_cont_1_params.tz @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_085_cont_3_params.json b/TezFinTest/CToken_Tests/step_085_cont_3_params.json index a926b557..475cbb6e 100644 --- a/TezFinTest/CToken_Tests/step_085_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_085_cont_3_params.json @@ -1 +1 @@ -{ "prim": "Unit" } \ No newline at end of file +{ "int": "10000000" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_085_cont_3_params.py b/TezFinTest/CToken_Tests/step_085_cont_3_params.py index 4efe363e..3b906d1a 100644 --- a/TezFinTest/CToken_Tests/step_085_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_085_cont_3_params.py @@ -1 +1 @@ -sp.unit \ No newline at end of file +10000000 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_085_cont_3_params.tz b/TezFinTest/CToken_Tests/step_085_cont_3_params.tz index d75d7710..3b906d1a 100644 --- a/TezFinTest/CToken_Tests/step_085_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_085_cont_3_params.tz @@ -1 +1 @@ -Unit \ No newline at end of file +10000000 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_088_cont_3_params.json b/TezFinTest/CToken_Tests/step_088_cont_3_params.json index d6596502..a926b557 100644 --- a/TezFinTest/CToken_Tests/step_088_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_088_cont_3_params.json @@ -1 +1 @@ -{ "int": "50000000" } \ No newline at end of file +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_088_cont_3_params.py b/TezFinTest/CToken_Tests/step_088_cont_3_params.py index 5abd4ab3..4efe363e 100644 --- a/TezFinTest/CToken_Tests/step_088_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_088_cont_3_params.py @@ -1 +1 @@ -50000000 \ No newline at end of file +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_088_cont_3_params.tz b/TezFinTest/CToken_Tests/step_088_cont_3_params.tz index 5abd4ab3..d75d7710 100644 --- a/TezFinTest/CToken_Tests/step_088_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_088_cont_3_params.tz @@ -1 +1 @@ -50000000 \ No newline at end of file +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_089_cont_1_params.json b/TezFinTest/CToken_Tests/step_089_cont_1_params.json new file mode 100644 index 00000000..58a0996d --- /dev/null +++ b/TezFinTest/CToken_Tests/step_089_cont_1_params.json @@ -0,0 +1 @@ +{ "string": "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_089_cont_1_params.py b/TezFinTest/CToken_Tests/step_089_cont_1_params.py new file mode 100644 index 00000000..be0e12fa --- /dev/null +++ b/TezFinTest/CToken_Tests/step_089_cont_1_params.py @@ -0,0 +1 @@ +sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_089_cont_1_params.tz b/TezFinTest/CToken_Tests/step_089_cont_1_params.tz new file mode 100644 index 00000000..0fd38f13 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_089_cont_1_params.tz @@ -0,0 +1 @@ +"KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_090_cont_1_params.json b/TezFinTest/CToken_Tests/step_090_cont_1_params.json new file mode 100644 index 00000000..95933521 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_090_cont_1_params.json @@ -0,0 +1 @@ +{ "string": "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_090_cont_1_params.py b/TezFinTest/CToken_Tests/step_090_cont_1_params.py new file mode 100644 index 00000000..e2d34cf1 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_090_cont_1_params.py @@ -0,0 +1 @@ +sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_090_cont_1_params.tz b/TezFinTest/CToken_Tests/step_090_cont_1_params.tz new file mode 100644 index 00000000..2296eec9 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_090_cont_1_params.tz @@ -0,0 +1 @@ +"tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_091_cont_3_params.json b/TezFinTest/CToken_Tests/step_091_cont_3_params.json new file mode 100644 index 00000000..d6596502 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_091_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "50000000" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_091_cont_3_params.py b/TezFinTest/CToken_Tests/step_091_cont_3_params.py new file mode 100644 index 00000000..5abd4ab3 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_091_cont_3_params.py @@ -0,0 +1 @@ +50000000 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_091_cont_3_params.tz b/TezFinTest/CToken_Tests/step_091_cont_3_params.tz new file mode 100644 index 00000000..5abd4ab3 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_091_cont_3_params.tz @@ -0,0 +1 @@ +50000000 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_093_cont_3_params.json b/TezFinTest/CToken_Tests/step_093_cont_3_params.json index d3e2630e..a926b557 100644 --- a/TezFinTest/CToken_Tests/step_093_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_093_cont_3_params.json @@ -1 +1 @@ -{ "int": "10" } \ No newline at end of file +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_093_cont_3_params.py b/TezFinTest/CToken_Tests/step_093_cont_3_params.py index 9a037142..4efe363e 100644 --- a/TezFinTest/CToken_Tests/step_093_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_093_cont_3_params.py @@ -1 +1 @@ -10 \ No newline at end of file +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_093_cont_3_params.tz b/TezFinTest/CToken_Tests/step_093_cont_3_params.tz index 9a037142..d75d7710 100644 --- a/TezFinTest/CToken_Tests/step_093_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_093_cont_3_params.tz @@ -1 +1 @@ -10 \ No newline at end of file +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_094_cont_1_params.json b/TezFinTest/CToken_Tests/step_094_cont_1_params.json new file mode 100644 index 00000000..58a0996d --- /dev/null +++ b/TezFinTest/CToken_Tests/step_094_cont_1_params.json @@ -0,0 +1 @@ +{ "string": "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_094_cont_1_params.py b/TezFinTest/CToken_Tests/step_094_cont_1_params.py new file mode 100644 index 00000000..be0e12fa --- /dev/null +++ b/TezFinTest/CToken_Tests/step_094_cont_1_params.py @@ -0,0 +1 @@ +sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_094_cont_1_params.tz b/TezFinTest/CToken_Tests/step_094_cont_1_params.tz new file mode 100644 index 00000000..0fd38f13 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_094_cont_1_params.tz @@ -0,0 +1 @@ +"KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_095_cont_1_params.json b/TezFinTest/CToken_Tests/step_095_cont_1_params.json new file mode 100644 index 00000000..95933521 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_095_cont_1_params.json @@ -0,0 +1 @@ +{ "string": "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_095_cont_1_params.py b/TezFinTest/CToken_Tests/step_095_cont_1_params.py new file mode 100644 index 00000000..e2d34cf1 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_095_cont_1_params.py @@ -0,0 +1 @@ +sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_095_cont_1_params.tz b/TezFinTest/CToken_Tests/step_095_cont_1_params.tz new file mode 100644 index 00000000..2296eec9 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_095_cont_1_params.tz @@ -0,0 +1 @@ +"tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_096_cont_3_params.json b/TezFinTest/CToken_Tests/step_096_cont_3_params.json index 20708d4a..d3e2630e 100644 --- a/TezFinTest/CToken_Tests/step_096_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_096_cont_3_params.json @@ -1 +1 @@ -{ "prim": "Pair", "args": [ { "prim": "Unit" }, { "string": "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeem" } ] } \ No newline at end of file +{ "int": "10" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_096_cont_3_params.py b/TezFinTest/CToken_Tests/step_096_cont_3_params.py index 64ac0c74..9a037142 100644 --- a/TezFinTest/CToken_Tests/step_096_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_096_cont_3_params.py @@ -1 +1 @@ -(sp.unit, sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeem')).open_some()) \ No newline at end of file +10 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_096_cont_3_params.tz b/TezFinTest/CToken_Tests/step_096_cont_3_params.tz index b8d228a0..9a037142 100644 --- a/TezFinTest/CToken_Tests/step_096_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_096_cont_3_params.tz @@ -1 +1 @@ -(Pair Unit "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeem") \ No newline at end of file +10 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_099_cont_3_params.json b/TezFinTest/CToken_Tests/step_099_cont_3_params.json new file mode 100644 index 00000000..20708d4a --- /dev/null +++ b/TezFinTest/CToken_Tests/step_099_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "prim": "Unit" }, { "string": "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeem" } ] } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_099_cont_3_params.py b/TezFinTest/CToken_Tests/step_099_cont_3_params.py new file mode 100644 index 00000000..64ac0c74 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_099_cont_3_params.py @@ -0,0 +1 @@ +(sp.unit, sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeem')).open_some()) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_099_cont_3_params.tz b/TezFinTest/CToken_Tests/step_099_cont_3_params.tz new file mode 100644 index 00000000..b8d228a0 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_099_cont_3_params.tz @@ -0,0 +1 @@ +(Pair Unit "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeem") \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_101_cont_3_params.json b/TezFinTest/CToken_Tests/step_101_cont_3_params.json new file mode 100644 index 00000000..9c6132e3 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_101_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "prim": "Unit" }, { "string": "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeemUnderlying" } ] } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_101_cont_3_params.py b/TezFinTest/CToken_Tests/step_101_cont_3_params.py new file mode 100644 index 00000000..b715406c --- /dev/null +++ b/TezFinTest/CToken_Tests/step_101_cont_3_params.py @@ -0,0 +1 @@ +(sp.unit, sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeemUnderlying')).open_some()) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_101_cont_3_params.tz b/TezFinTest/CToken_Tests/step_101_cont_3_params.tz new file mode 100644 index 00000000..23bf9486 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_101_cont_3_params.tz @@ -0,0 +1 @@ +(Pair Unit "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeemUnderlying") \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_105_cont_3_params.json b/TezFinTest/CToken_Tests/step_105_cont_3_params.json index a926b557..21be8225 100644 --- a/TezFinTest/CToken_Tests/step_105_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_105_cont_3_params.json @@ -1 +1 @@ -{ "prim": "Unit" } \ No newline at end of file +{ "int": "1" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_105_cont_3_params.py b/TezFinTest/CToken_Tests/step_105_cont_3_params.py index 4efe363e..56a6051c 100644 --- a/TezFinTest/CToken_Tests/step_105_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_105_cont_3_params.py @@ -1 +1 @@ -sp.unit \ No newline at end of file +1 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_105_cont_3_params.tz b/TezFinTest/CToken_Tests/step_105_cont_3_params.tz index d75d7710..56a6051c 100644 --- a/TezFinTest/CToken_Tests/step_105_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_105_cont_3_params.tz @@ -1 +1 @@ -Unit \ No newline at end of file +1 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_107_cont_3_params.json b/TezFinTest/CToken_Tests/step_107_cont_3_params.json new file mode 100644 index 00000000..a926b557 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_107_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_107_cont_3_params.py b/TezFinTest/CToken_Tests/step_107_cont_3_params.py new file mode 100644 index 00000000..4efe363e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_107_cont_3_params.py @@ -0,0 +1 @@ +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_107_cont_3_params.tz b/TezFinTest/CToken_Tests/step_107_cont_3_params.tz new file mode 100644 index 00000000..d75d7710 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_107_cont_3_params.tz @@ -0,0 +1 @@ +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_108_cont_3_params.json b/TezFinTest/CToken_Tests/step_108_cont_3_params.json new file mode 100644 index 00000000..21be8225 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_108_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "1" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_108_cont_3_params.py b/TezFinTest/CToken_Tests/step_108_cont_3_params.py new file mode 100644 index 00000000..56a6051c --- /dev/null +++ b/TezFinTest/CToken_Tests/step_108_cont_3_params.py @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_108_cont_3_params.tz b/TezFinTest/CToken_Tests/step_108_cont_3_params.tz new file mode 100644 index 00000000..56a6051c --- /dev/null +++ b/TezFinTest/CToken_Tests/step_108_cont_3_params.tz @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_111_cont_1_params.json b/TezFinTest/CToken_Tests/step_111_cont_1_params.json new file mode 100644 index 00000000..1c5214ff --- /dev/null +++ b/TezFinTest/CToken_Tests/step_111_cont_1_params.json @@ -0,0 +1 @@ +{ "prim": "False" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_111_cont_1_params.py b/TezFinTest/CToken_Tests/step_111_cont_1_params.py new file mode 100644 index 00000000..c1f22fbc --- /dev/null +++ b/TezFinTest/CToken_Tests/step_111_cont_1_params.py @@ -0,0 +1 @@ +False \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_111_cont_1_params.tz b/TezFinTest/CToken_Tests/step_111_cont_1_params.tz new file mode 100644 index 00000000..c1f22fbc --- /dev/null +++ b/TezFinTest/CToken_Tests/step_111_cont_1_params.tz @@ -0,0 +1 @@ +False \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_112_cont_3_params.json b/TezFinTest/CToken_Tests/step_112_cont_3_params.json new file mode 100644 index 00000000..a926b557 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_112_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_112_cont_3_params.py b/TezFinTest/CToken_Tests/step_112_cont_3_params.py new file mode 100644 index 00000000..4efe363e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_112_cont_3_params.py @@ -0,0 +1 @@ +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_112_cont_3_params.tz b/TezFinTest/CToken_Tests/step_112_cont_3_params.tz new file mode 100644 index 00000000..d75d7710 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_112_cont_3_params.tz @@ -0,0 +1 @@ +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_113_cont_3_params.json b/TezFinTest/CToken_Tests/step_113_cont_3_params.json index a926b557..21be8225 100644 --- a/TezFinTest/CToken_Tests/step_113_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_113_cont_3_params.json @@ -1 +1 @@ -{ "prim": "Unit" } \ No newline at end of file +{ "int": "1" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_113_cont_3_params.py b/TezFinTest/CToken_Tests/step_113_cont_3_params.py index 4efe363e..56a6051c 100644 --- a/TezFinTest/CToken_Tests/step_113_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_113_cont_3_params.py @@ -1 +1 @@ -sp.unit \ No newline at end of file +1 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_113_cont_3_params.tz b/TezFinTest/CToken_Tests/step_113_cont_3_params.tz index d75d7710..56a6051c 100644 --- a/TezFinTest/CToken_Tests/step_113_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_113_cont_3_params.tz @@ -1 +1 @@ -Unit \ No newline at end of file +1 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_115_cont_3_params.json b/TezFinTest/CToken_Tests/step_115_cont_3_params.json index 21be8225..a926b557 100644 --- a/TezFinTest/CToken_Tests/step_115_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_115_cont_3_params.json @@ -1 +1 @@ -{ "int": "1" } \ No newline at end of file +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_115_cont_3_params.py b/TezFinTest/CToken_Tests/step_115_cont_3_params.py index 56a6051c..4efe363e 100644 --- a/TezFinTest/CToken_Tests/step_115_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_115_cont_3_params.py @@ -1 +1 @@ -1 \ No newline at end of file +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_115_cont_3_params.tz b/TezFinTest/CToken_Tests/step_115_cont_3_params.tz index 56a6051c..d75d7710 100644 --- a/TezFinTest/CToken_Tests/step_115_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_115_cont_3_params.tz @@ -1 +1 @@ -1 \ No newline at end of file +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_116_cont_1_params.json b/TezFinTest/CToken_Tests/step_116_cont_1_params.json new file mode 100644 index 00000000..3d723e70 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_116_cont_1_params.json @@ -0,0 +1 @@ +{ "prim": "True" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_116_cont_1_params.py b/TezFinTest/CToken_Tests/step_116_cont_1_params.py new file mode 100644 index 00000000..4791ed55 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_116_cont_1_params.py @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_116_cont_1_params.tz b/TezFinTest/CToken_Tests/step_116_cont_1_params.tz new file mode 100644 index 00000000..4791ed55 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_116_cont_1_params.tz @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_117_cont_3_params.json b/TezFinTest/CToken_Tests/step_117_cont_3_params.json new file mode 100644 index 00000000..21be8225 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_117_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "1" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_117_cont_3_params.py b/TezFinTest/CToken_Tests/step_117_cont_3_params.py new file mode 100644 index 00000000..56a6051c --- /dev/null +++ b/TezFinTest/CToken_Tests/step_117_cont_3_params.py @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_117_cont_3_params.tz b/TezFinTest/CToken_Tests/step_117_cont_3_params.tz new file mode 100644 index 00000000..56a6051c --- /dev/null +++ b/TezFinTest/CToken_Tests/step_117_cont_3_params.tz @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_120_cont_3_params.json b/TezFinTest/CToken_Tests/step_120_cont_3_params.json new file mode 100644 index 00000000..a926b557 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_120_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_120_cont_3_params.py b/TezFinTest/CToken_Tests/step_120_cont_3_params.py new file mode 100644 index 00000000..4efe363e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_120_cont_3_params.py @@ -0,0 +1 @@ +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_120_cont_3_params.tz b/TezFinTest/CToken_Tests/step_120_cont_3_params.tz new file mode 100644 index 00000000..d75d7710 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_120_cont_3_params.tz @@ -0,0 +1 @@ +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_121_cont_3_params.json b/TezFinTest/CToken_Tests/step_121_cont_3_params.json new file mode 100644 index 00000000..2c9fb8cb --- /dev/null +++ b/TezFinTest/CToken_Tests/step_121_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "string": "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" }, { "int": "1" } ] } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_121_cont_3_params.py b/TezFinTest/CToken_Tests/step_121_cont_3_params.py new file mode 100644 index 00000000..5c1ee230 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_121_cont_3_params.py @@ -0,0 +1 @@ +sp.record(borrower = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), repayAmount = 1) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_121_cont_3_params.tz b/TezFinTest/CToken_Tests/step_121_cont_3_params.tz new file mode 100644 index 00000000..772a9569 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_121_cont_3_params.tz @@ -0,0 +1 @@ +(Pair "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 1) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_124_cont_3_params.json b/TezFinTest/CToken_Tests/step_124_cont_3_params.json new file mode 100644 index 00000000..a926b557 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_124_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_124_cont_3_params.py b/TezFinTest/CToken_Tests/step_124_cont_3_params.py new file mode 100644 index 00000000..4efe363e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_124_cont_3_params.py @@ -0,0 +1 @@ +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_124_cont_3_params.tz b/TezFinTest/CToken_Tests/step_124_cont_3_params.tz new file mode 100644 index 00000000..d75d7710 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_124_cont_3_params.tz @@ -0,0 +1 @@ +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_125_cont_3_params.json b/TezFinTest/CToken_Tests/step_125_cont_3_params.json new file mode 100644 index 00000000..a1e918ae --- /dev/null +++ b/TezFinTest/CToken_Tests/step_125_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "1007" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_125_cont_3_params.py b/TezFinTest/CToken_Tests/step_125_cont_3_params.py new file mode 100644 index 00000000..2ba2c947 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_125_cont_3_params.py @@ -0,0 +1 @@ +1007 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_125_cont_3_params.tz b/TezFinTest/CToken_Tests/step_125_cont_3_params.tz new file mode 100644 index 00000000..2ba2c947 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_125_cont_3_params.tz @@ -0,0 +1 @@ +1007 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_129_cont_3_params.json b/TezFinTest/CToken_Tests/step_129_cont_3_params.json index f306d7ea..20708d4a 100644 --- a/TezFinTest/CToken_Tests/step_129_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_129_cont_3_params.json @@ -1,4 +1 @@ -{ - "prim": "Pair", - "args": [ { "string": "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" }, { "prim": "Pair", "args": [ { "string": "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" }, { "int": "100" } ] } ] -} \ No newline at end of file +{ "prim": "Pair", "args": [ { "prim": "Unit" }, { "string": "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeem" } ] } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_129_cont_3_params.py b/TezFinTest/CToken_Tests/step_129_cont_3_params.py index 3ee28452..64ac0c74 100644 --- a/TezFinTest/CToken_Tests/step_129_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_129_cont_3_params.py @@ -1 +1 @@ -sp.record(from_ = sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58'), to_ = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), value = 100) \ No newline at end of file +(sp.unit, sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeem')).open_some()) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_129_cont_3_params.tz b/TezFinTest/CToken_Tests/step_129_cont_3_params.tz index 9e02b99b..b8d228a0 100644 --- a/TezFinTest/CToken_Tests/step_129_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_129_cont_3_params.tz @@ -1 +1 @@ -(Pair "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 100)) \ No newline at end of file +(Pair Unit "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%redeem") \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_132_cont_3_params.json b/TezFinTest/CToken_Tests/step_132_cont_3_params.json new file mode 100644 index 00000000..f306d7ea --- /dev/null +++ b/TezFinTest/CToken_Tests/step_132_cont_3_params.json @@ -0,0 +1,4 @@ +{ + "prim": "Pair", + "args": [ { "string": "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" }, { "prim": "Pair", "args": [ { "string": "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" }, { "int": "100" } ] } ] +} \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_132_cont_3_params.py b/TezFinTest/CToken_Tests/step_132_cont_3_params.py new file mode 100644 index 00000000..3ee28452 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_132_cont_3_params.py @@ -0,0 +1 @@ +sp.record(from_ = sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58'), to_ = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), value = 100) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_132_cont_3_params.tz b/TezFinTest/CToken_Tests/step_132_cont_3_params.tz new file mode 100644 index 00000000..9e02b99b --- /dev/null +++ b/TezFinTest/CToken_Tests/step_132_cont_3_params.tz @@ -0,0 +1 @@ +(Pair "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 100)) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_134_cont_3_params.json b/TezFinTest/CToken_Tests/step_134_cont_3_params.json index 3ca36f69..df3ec7aa 100644 --- a/TezFinTest/CToken_Tests/step_134_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_134_cont_3_params.json @@ -1 +1,4 @@ -{ "prim": "Pair", "args": [ { "string": "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" }, { "string": "KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat" } ] } \ No newline at end of file +{ + "prim": "Pair", + "args": [ { "string": "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" }, { "prim": "Pair", "args": [ { "string": "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" }, { "int": "100" } ] } ] +} \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_134_cont_3_params.py b/TezFinTest/CToken_Tests/step_134_cont_3_params.py index 58b0dba9..97427d16 100644 --- a/TezFinTest/CToken_Tests/step_134_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_134_cont_3_params.py @@ -1 +1 @@ -(sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58'), sp.contract(sp.TNat, sp.address('KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat')).open_some()) \ No newline at end of file +sp.record(from_ = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), to_ = sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58'), value = 100) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_134_cont_3_params.tz b/TezFinTest/CToken_Tests/step_134_cont_3_params.tz index 8c3553d0..a5fcd6a2 100644 --- a/TezFinTest/CToken_Tests/step_134_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_134_cont_3_params.tz @@ -1 +1 @@ -(Pair "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" "KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat") \ No newline at end of file +(Pair "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" 100)) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_136_cont_3_params.json b/TezFinTest/CToken_Tests/step_136_cont_3_params.json new file mode 100644 index 00000000..df3ec7aa --- /dev/null +++ b/TezFinTest/CToken_Tests/step_136_cont_3_params.json @@ -0,0 +1,4 @@ +{ + "prim": "Pair", + "args": [ { "string": "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" }, { "prim": "Pair", "args": [ { "string": "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" }, { "int": "100" } ] } ] +} \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_136_cont_3_params.py b/TezFinTest/CToken_Tests/step_136_cont_3_params.py new file mode 100644 index 00000000..97427d16 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_136_cont_3_params.py @@ -0,0 +1 @@ +sp.record(from_ = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), to_ = sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58'), value = 100) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_136_cont_3_params.tz b/TezFinTest/CToken_Tests/step_136_cont_3_params.tz new file mode 100644 index 00000000..a5fcd6a2 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_136_cont_3_params.tz @@ -0,0 +1 @@ +(Pair "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" (Pair "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" 100)) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_137_cont_3_params.json b/TezFinTest/CToken_Tests/step_137_cont_3_params.json index e011836f..3ca36f69 100644 --- a/TezFinTest/CToken_Tests/step_137_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_137_cont_3_params.json @@ -1 +1 @@ -{ "prim": "Pair", "args": [ { "string": "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" }, { "int": "100" } ] } \ No newline at end of file +{ "prim": "Pair", "args": [ { "string": "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" }, { "string": "KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat" } ] } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_137_cont_3_params.py b/TezFinTest/CToken_Tests/step_137_cont_3_params.py index d3eae92c..58b0dba9 100644 --- a/TezFinTest/CToken_Tests/step_137_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_137_cont_3_params.py @@ -1 +1 @@ -sp.record(spender = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), value = 100) \ No newline at end of file +(sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58'), sp.contract(sp.TNat, sp.address('KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat')).open_some()) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_137_cont_3_params.tz b/TezFinTest/CToken_Tests/step_137_cont_3_params.tz index 5ffb80b2..8c3553d0 100644 --- a/TezFinTest/CToken_Tests/step_137_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_137_cont_3_params.tz @@ -1 +1 @@ -(Pair "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 100) \ No newline at end of file +(Pair "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" "KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat") \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_140_cont_3_params.json b/TezFinTest/CToken_Tests/step_140_cont_3_params.json index f306d7ea..e011836f 100644 --- a/TezFinTest/CToken_Tests/step_140_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_140_cont_3_params.json @@ -1,4 +1 @@ -{ - "prim": "Pair", - "args": [ { "string": "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" }, { "prim": "Pair", "args": [ { "string": "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" }, { "int": "100" } ] } ] -} \ No newline at end of file +{ "prim": "Pair", "args": [ { "string": "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" }, { "int": "100" } ] } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_140_cont_3_params.py b/TezFinTest/CToken_Tests/step_140_cont_3_params.py index 3ee28452..d3eae92c 100644 --- a/TezFinTest/CToken_Tests/step_140_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_140_cont_3_params.py @@ -1 +1 @@ -sp.record(from_ = sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58'), to_ = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), value = 100) \ No newline at end of file +sp.record(spender = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), value = 100) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_140_cont_3_params.tz b/TezFinTest/CToken_Tests/step_140_cont_3_params.tz index 9e02b99b..5ffb80b2 100644 --- a/TezFinTest/CToken_Tests/step_140_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_140_cont_3_params.tz @@ -1 +1 @@ -(Pair "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 100)) \ No newline at end of file +(Pair "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 100) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_141_cont_3_params.json b/TezFinTest/CToken_Tests/step_141_cont_3_params.json new file mode 100644 index 00000000..c680e09a --- /dev/null +++ b/TezFinTest/CToken_Tests/step_141_cont_3_params.json @@ -0,0 +1,7 @@ +{ + "prim": "Pair", + "args": [ + { "prim": "Pair", "args": [ { "string": "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" }, { "string": "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" } ] }, + { "string": "KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat" } + ] +} \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_141_cont_3_params.py b/TezFinTest/CToken_Tests/step_141_cont_3_params.py new file mode 100644 index 00000000..78389758 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_141_cont_3_params.py @@ -0,0 +1 @@ +(sp.record(owner = sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58'), spender = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi')), sp.contract(sp.TNat, sp.address('KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat')).open_some()) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_141_cont_3_params.tz b/TezFinTest/CToken_Tests/step_141_cont_3_params.tz new file mode 100644 index 00000000..a148d6c1 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_141_cont_3_params.tz @@ -0,0 +1 @@ +(Pair (Pair "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi") "KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat") \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_143_cont_3_params.json b/TezFinTest/CToken_Tests/step_143_cont_3_params.json new file mode 100644 index 00000000..f306d7ea --- /dev/null +++ b/TezFinTest/CToken_Tests/step_143_cont_3_params.json @@ -0,0 +1,4 @@ +{ + "prim": "Pair", + "args": [ { "string": "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" }, { "prim": "Pair", "args": [ { "string": "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" }, { "int": "100" } ] } ] +} \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_143_cont_3_params.py b/TezFinTest/CToken_Tests/step_143_cont_3_params.py new file mode 100644 index 00000000..3ee28452 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_143_cont_3_params.py @@ -0,0 +1 @@ +sp.record(from_ = sp.address('tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58'), to_ = sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), value = 100) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_143_cont_3_params.tz b/TezFinTest/CToken_Tests/step_143_cont_3_params.tz new file mode 100644 index 00000000..9e02b99b --- /dev/null +++ b/TezFinTest/CToken_Tests/step_143_cont_3_params.tz @@ -0,0 +1 @@ +(Pair "tz1cFgiCfHJbTYrrQXHXHad6b8J1JoGxDX58" (Pair "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" 100)) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_148_cont_3_params.json b/TezFinTest/CToken_Tests/step_148_cont_3_params.json new file mode 100644 index 00000000..e511f8c9 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_148_cont_3_params.json @@ -0,0 +1 @@ +{ "string": "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_148_cont_3_params.py b/TezFinTest/CToken_Tests/step_148_cont_3_params.py new file mode 100644 index 00000000..5993ef12 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_148_cont_3_params.py @@ -0,0 +1 @@ +sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_148_cont_3_params.tz b/TezFinTest/CToken_Tests/step_148_cont_3_params.tz new file mode 100644 index 00000000..cbfb5dff --- /dev/null +++ b/TezFinTest/CToken_Tests/step_148_cont_3_params.tz @@ -0,0 +1 @@ +"tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_150_cont_3_params.json b/TezFinTest/CToken_Tests/step_150_cont_3_params.json index a926b557..e511f8c9 100644 --- a/TezFinTest/CToken_Tests/step_150_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_150_cont_3_params.json @@ -1 +1 @@ -{ "prim": "Unit" } \ No newline at end of file +{ "string": "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_150_cont_3_params.py b/TezFinTest/CToken_Tests/step_150_cont_3_params.py index 4efe363e..5993ef12 100644 --- a/TezFinTest/CToken_Tests/step_150_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_150_cont_3_params.py @@ -1 +1 @@ -sp.unit \ No newline at end of file +sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_150_cont_3_params.tz b/TezFinTest/CToken_Tests/step_150_cont_3_params.tz index d75d7710..cbfb5dff 100644 --- a/TezFinTest/CToken_Tests/step_150_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_150_cont_3_params.tz @@ -1 +1 @@ -Unit \ No newline at end of file +"tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_153_cont_3_params.json b/TezFinTest/CToken_Tests/step_153_cont_3_params.json new file mode 100644 index 00000000..a926b557 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_153_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_153_cont_3_params.py b/TezFinTest/CToken_Tests/step_153_cont_3_params.py new file mode 100644 index 00000000..4efe363e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_153_cont_3_params.py @@ -0,0 +1 @@ +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_153_cont_3_params.tz b/TezFinTest/CToken_Tests/step_153_cont_3_params.tz new file mode 100644 index 00000000..d75d7710 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_153_cont_3_params.tz @@ -0,0 +1 @@ +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_155_cont_3_params.json b/TezFinTest/CToken_Tests/step_155_cont_3_params.json index 27f77e82..a926b557 100644 --- a/TezFinTest/CToken_Tests/step_155_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_155_cont_3_params.json @@ -1 +1 @@ -{ "string": "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" } \ No newline at end of file +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_155_cont_3_params.py b/TezFinTest/CToken_Tests/step_155_cont_3_params.py index 44e053ec..4efe363e 100644 --- a/TezFinTest/CToken_Tests/step_155_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_155_cont_3_params.py @@ -1 +1 @@ -sp.address('tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5') \ No newline at end of file +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_155_cont_3_params.tz b/TezFinTest/CToken_Tests/step_155_cont_3_params.tz index 4e2d8ada..d75d7710 100644 --- a/TezFinTest/CToken_Tests/step_155_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_155_cont_3_params.tz @@ -1 +1 @@ -"tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" \ No newline at end of file +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_158_cont_3_params.json b/TezFinTest/CToken_Tests/step_158_cont_3_params.json index e511f8c9..27f77e82 100644 --- a/TezFinTest/CToken_Tests/step_158_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_158_cont_3_params.json @@ -1 +1 @@ -{ "string": "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" } \ No newline at end of file +{ "string": "tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_158_cont_3_params.py b/TezFinTest/CToken_Tests/step_158_cont_3_params.py index 5993ef12..44e053ec 100644 --- a/TezFinTest/CToken_Tests/step_158_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_158_cont_3_params.py @@ -1 +1 @@ -sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C') \ No newline at end of file +sp.address('tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_158_cont_3_params.tz b/TezFinTest/CToken_Tests/step_158_cont_3_params.tz index cbfb5dff..4e2d8ada 100644 --- a/TezFinTest/CToken_Tests/step_158_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_158_cont_3_params.tz @@ -1 +1 @@ -"tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" \ No newline at end of file +"tz1UyQDepgtUBnWjyzzonqeDwaiWoQzRKSP5" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_159_cont_3_params.json b/TezFinTest/CToken_Tests/step_159_cont_3_params.json new file mode 100644 index 00000000..a926b557 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_159_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_159_cont_3_params.py b/TezFinTest/CToken_Tests/step_159_cont_3_params.py new file mode 100644 index 00000000..4efe363e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_159_cont_3_params.py @@ -0,0 +1 @@ +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_159_cont_3_params.tz b/TezFinTest/CToken_Tests/step_159_cont_3_params.tz new file mode 100644 index 00000000..d75d7710 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_159_cont_3_params.tz @@ -0,0 +1 @@ +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_161_cont_3_params.json b/TezFinTest/CToken_Tests/step_161_cont_3_params.json new file mode 100644 index 00000000..e511f8c9 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_161_cont_3_params.json @@ -0,0 +1 @@ +{ "string": "tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_161_cont_3_params.py b/TezFinTest/CToken_Tests/step_161_cont_3_params.py new file mode 100644 index 00000000..5993ef12 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_161_cont_3_params.py @@ -0,0 +1 @@ +sp.address('tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_161_cont_3_params.tz b/TezFinTest/CToken_Tests/step_161_cont_3_params.tz new file mode 100644 index 00000000..cbfb5dff --- /dev/null +++ b/TezFinTest/CToken_Tests/step_161_cont_3_params.tz @@ -0,0 +1 @@ +"tz1Rp4Bv8iUhYnNoCryHQgNzN2D7i3L1LF9C" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_163_cont_3_params.json b/TezFinTest/CToken_Tests/step_163_cont_3_params.json new file mode 100644 index 00000000..a926b557 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_163_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_163_cont_3_params.py b/TezFinTest/CToken_Tests/step_163_cont_3_params.py new file mode 100644 index 00000000..4efe363e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_163_cont_3_params.py @@ -0,0 +1 @@ +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_163_cont_3_params.tz b/TezFinTest/CToken_Tests/step_163_cont_3_params.tz new file mode 100644 index 00000000..d75d7710 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_163_cont_3_params.tz @@ -0,0 +1 @@ +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_165_cont_3_params.json b/TezFinTest/CToken_Tests/step_165_cont_3_params.json new file mode 100644 index 00000000..a926b557 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_165_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_165_cont_3_params.py b/TezFinTest/CToken_Tests/step_165_cont_3_params.py new file mode 100644 index 00000000..4efe363e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_165_cont_3_params.py @@ -0,0 +1 @@ +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_165_cont_3_params.tz b/TezFinTest/CToken_Tests/step_165_cont_3_params.tz new file mode 100644 index 00000000..d75d7710 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_165_cont_3_params.tz @@ -0,0 +1 @@ +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_169_cont_3_params.json b/TezFinTest/CToken_Tests/step_169_cont_3_params.json new file mode 100644 index 00000000..36e72103 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_169_cont_3_params.json @@ -0,0 +1 @@ +{ "string": "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_169_cont_3_params.py b/TezFinTest/CToken_Tests/step_169_cont_3_params.py new file mode 100644 index 00000000..d82062ce --- /dev/null +++ b/TezFinTest/CToken_Tests/step_169_cont_3_params.py @@ -0,0 +1 @@ +sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_169_cont_3_params.tz b/TezFinTest/CToken_Tests/step_169_cont_3_params.tz new file mode 100644 index 00000000..d098e4c3 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_169_cont_3_params.tz @@ -0,0 +1 @@ +"KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_171_cont_3_params.json b/TezFinTest/CToken_Tests/step_171_cont_3_params.json new file mode 100644 index 00000000..36e72103 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_171_cont_3_params.json @@ -0,0 +1 @@ +{ "string": "KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_171_cont_3_params.py b/TezFinTest/CToken_Tests/step_171_cont_3_params.py new file mode 100644 index 00000000..d82062ce --- /dev/null +++ b/TezFinTest/CToken_Tests/step_171_cont_3_params.py @@ -0,0 +1 @@ +sp.address('KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_171_cont_3_params.tz b/TezFinTest/CToken_Tests/step_171_cont_3_params.tz new file mode 100644 index 00000000..d098e4c3 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_171_cont_3_params.tz @@ -0,0 +1 @@ +"KT1Tezooo1zzSmartPyzzSTATiCzzzyfC8eF" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_175_cont_3_params.json b/TezFinTest/CToken_Tests/step_175_cont_3_params.json new file mode 100644 index 00000000..98a1322a --- /dev/null +++ b/TezFinTest/CToken_Tests/step_175_cont_3_params.json @@ -0,0 +1 @@ +{ "string": "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_175_cont_3_params.py b/TezFinTest/CToken_Tests/step_175_cont_3_params.py new file mode 100644 index 00000000..6b8cb246 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_175_cont_3_params.py @@ -0,0 +1 @@ +sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_175_cont_3_params.tz b/TezFinTest/CToken_Tests/step_175_cont_3_params.tz new file mode 100644 index 00000000..c46159cf --- /dev/null +++ b/TezFinTest/CToken_Tests/step_175_cont_3_params.tz @@ -0,0 +1 @@ +"KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_177_cont_3_params.json b/TezFinTest/CToken_Tests/step_177_cont_3_params.json new file mode 100644 index 00000000..98a1322a --- /dev/null +++ b/TezFinTest/CToken_Tests/step_177_cont_3_params.json @@ -0,0 +1 @@ +{ "string": "KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_177_cont_3_params.py b/TezFinTest/CToken_Tests/step_177_cont_3_params.py new file mode 100644 index 00000000..6b8cb246 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_177_cont_3_params.py @@ -0,0 +1 @@ +sp.address('KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_177_cont_3_params.tz b/TezFinTest/CToken_Tests/step_177_cont_3_params.tz new file mode 100644 index 00000000..c46159cf --- /dev/null +++ b/TezFinTest/CToken_Tests/step_177_cont_3_params.tz @@ -0,0 +1 @@ +"KT1Tezooo2zzSmartPyzzSTATiCzzzwqqQ4H" \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_181_cont_3_params.json b/TezFinTest/CToken_Tests/step_181_cont_3_params.json new file mode 100644 index 00000000..21be8225 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_181_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "1" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_181_cont_3_params.py b/TezFinTest/CToken_Tests/step_181_cont_3_params.py new file mode 100644 index 00000000..56a6051c --- /dev/null +++ b/TezFinTest/CToken_Tests/step_181_cont_3_params.py @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_181_cont_3_params.tz b/TezFinTest/CToken_Tests/step_181_cont_3_params.tz new file mode 100644 index 00000000..56a6051c --- /dev/null +++ b/TezFinTest/CToken_Tests/step_181_cont_3_params.tz @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_183_cont_3_params.json b/TezFinTest/CToken_Tests/step_183_cont_3_params.json index d3e2630e..21be8225 100644 --- a/TezFinTest/CToken_Tests/step_183_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_183_cont_3_params.json @@ -1 +1 @@ -{ "int": "10" } \ No newline at end of file +{ "int": "1" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_183_cont_3_params.py b/TezFinTest/CToken_Tests/step_183_cont_3_params.py index 9a037142..56a6051c 100644 --- a/TezFinTest/CToken_Tests/step_183_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_183_cont_3_params.py @@ -1 +1 @@ -10 \ No newline at end of file +1 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_183_cont_3_params.tz b/TezFinTest/CToken_Tests/step_183_cont_3_params.tz index 9a037142..56a6051c 100644 --- a/TezFinTest/CToken_Tests/step_183_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_183_cont_3_params.tz @@ -1 +1 @@ -10 \ No newline at end of file +1 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_186_cont_3_params.json b/TezFinTest/CToken_Tests/step_186_cont_3_params.json new file mode 100644 index 00000000..d3e2630e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_186_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "10" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_186_cont_3_params.py b/TezFinTest/CToken_Tests/step_186_cont_3_params.py new file mode 100644 index 00000000..9a037142 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_186_cont_3_params.py @@ -0,0 +1 @@ +10 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_186_cont_3_params.tz b/TezFinTest/CToken_Tests/step_186_cont_3_params.tz new file mode 100644 index 00000000..9a037142 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_186_cont_3_params.tz @@ -0,0 +1 @@ +10 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_188_cont_3_params.json b/TezFinTest/CToken_Tests/step_188_cont_3_params.json index 67b323f3..17177a95 100644 --- a/TezFinTest/CToken_Tests/step_188_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_188_cont_3_params.json @@ -1 +1 @@ -{ "int": "5" } \ No newline at end of file +{ "prim": "Pair", "args": [ { "prim": "Unit" }, { "string": "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%addReserves" } ] } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_188_cont_3_params.py b/TezFinTest/CToken_Tests/step_188_cont_3_params.py index 7813681f..bee32b36 100644 --- a/TezFinTest/CToken_Tests/step_188_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_188_cont_3_params.py @@ -1 +1 @@ -5 \ No newline at end of file +(sp.unit, sp.contract(sp.TNat, sp.address('KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%addReserves')).open_some()) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_188_cont_3_params.tz b/TezFinTest/CToken_Tests/step_188_cont_3_params.tz index 7813681f..ba78f230 100644 --- a/TezFinTest/CToken_Tests/step_188_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_188_cont_3_params.tz @@ -1 +1 @@ -5 \ No newline at end of file +(Pair Unit "KT1Tezooo3zzSmartPyzzSTATiCzzzseJjWC%addReserves") \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_191_cont_3_params.json b/TezFinTest/CToken_Tests/step_191_cont_3_params.json new file mode 100644 index 00000000..67b323f3 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_191_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "5" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_191_cont_3_params.py b/TezFinTest/CToken_Tests/step_191_cont_3_params.py new file mode 100644 index 00000000..7813681f --- /dev/null +++ b/TezFinTest/CToken_Tests/step_191_cont_3_params.py @@ -0,0 +1 @@ +5 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_191_cont_3_params.tz b/TezFinTest/CToken_Tests/step_191_cont_3_params.tz new file mode 100644 index 00000000..7813681f --- /dev/null +++ b/TezFinTest/CToken_Tests/step_191_cont_3_params.tz @@ -0,0 +1 @@ +5 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_193_cont_3_params.json b/TezFinTest/CToken_Tests/step_193_cont_3_params.json new file mode 100644 index 00000000..67b323f3 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_193_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "5" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_193_cont_3_params.py b/TezFinTest/CToken_Tests/step_193_cont_3_params.py new file mode 100644 index 00000000..7813681f --- /dev/null +++ b/TezFinTest/CToken_Tests/step_193_cont_3_params.py @@ -0,0 +1 @@ +5 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_193_cont_3_params.tz b/TezFinTest/CToken_Tests/step_193_cont_3_params.tz new file mode 100644 index 00000000..7813681f --- /dev/null +++ b/TezFinTest/CToken_Tests/step_193_cont_3_params.tz @@ -0,0 +1 @@ +5 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_195_cont_3_params.json b/TezFinTest/CToken_Tests/step_195_cont_3_params.json new file mode 100644 index 00000000..edd1f7fe --- /dev/null +++ b/TezFinTest/CToken_Tests/step_195_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "100000000000000000000" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_195_cont_3_params.py b/TezFinTest/CToken_Tests/step_195_cont_3_params.py new file mode 100644 index 00000000..474bc113 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_195_cont_3_params.py @@ -0,0 +1 @@ +100000000000000000000 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_195_cont_3_params.tz b/TezFinTest/CToken_Tests/step_195_cont_3_params.tz new file mode 100644 index 00000000..474bc113 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_195_cont_3_params.tz @@ -0,0 +1 @@ +100000000000000000000 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_197_cont_3_params.json b/TezFinTest/CToken_Tests/step_197_cont_3_params.json index a926b557..21be8225 100644 --- a/TezFinTest/CToken_Tests/step_197_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_197_cont_3_params.json @@ -1 +1 @@ -{ "prim": "Unit" } \ No newline at end of file +{ "int": "1" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_197_cont_3_params.py b/TezFinTest/CToken_Tests/step_197_cont_3_params.py index 4efe363e..56a6051c 100644 --- a/TezFinTest/CToken_Tests/step_197_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_197_cont_3_params.py @@ -1 +1 @@ -sp.unit \ No newline at end of file +1 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_197_cont_3_params.tz b/TezFinTest/CToken_Tests/step_197_cont_3_params.tz index d75d7710..56a6051c 100644 --- a/TezFinTest/CToken_Tests/step_197_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_197_cont_3_params.tz @@ -1 +1 @@ -Unit \ No newline at end of file +1 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_200_cont_3_params.json b/TezFinTest/CToken_Tests/step_200_cont_3_params.json new file mode 100644 index 00000000..a926b557 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_200_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_200_cont_3_params.py b/TezFinTest/CToken_Tests/step_200_cont_3_params.py new file mode 100644 index 00000000..4efe363e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_200_cont_3_params.py @@ -0,0 +1 @@ +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_200_cont_3_params.tz b/TezFinTest/CToken_Tests/step_200_cont_3_params.tz new file mode 100644 index 00000000..d75d7710 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_200_cont_3_params.tz @@ -0,0 +1 @@ +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_202_cont_3_params.json b/TezFinTest/CToken_Tests/step_202_cont_3_params.json new file mode 100644 index 00000000..a926b557 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_202_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_202_cont_3_params.py b/TezFinTest/CToken_Tests/step_202_cont_3_params.py new file mode 100644 index 00000000..4efe363e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_202_cont_3_params.py @@ -0,0 +1 @@ +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_202_cont_3_params.tz b/TezFinTest/CToken_Tests/step_202_cont_3_params.tz new file mode 100644 index 00000000..d75d7710 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_202_cont_3_params.tz @@ -0,0 +1 @@ +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_206_cont_3_params.json b/TezFinTest/CToken_Tests/step_206_cont_3_params.json index a926b557..ff675086 100644 --- a/TezFinTest/CToken_Tests/step_206_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_206_cont_3_params.json @@ -1 +1 @@ -{ "prim": "Unit" } \ No newline at end of file +{ "prim": "Pair", "args": [ { "string": "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" }, { "string": "KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat" } ] } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_206_cont_3_params.py b/TezFinTest/CToken_Tests/step_206_cont_3_params.py index 4efe363e..474180fb 100644 --- a/TezFinTest/CToken_Tests/step_206_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_206_cont_3_params.py @@ -1 +1 @@ -sp.unit \ No newline at end of file +(sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), sp.contract(sp.TNat, sp.address('KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat')).open_some()) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_206_cont_3_params.tz b/TezFinTest/CToken_Tests/step_206_cont_3_params.tz index d75d7710..6559a525 100644 --- a/TezFinTest/CToken_Tests/step_206_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_206_cont_3_params.tz @@ -1 +1 @@ -Unit \ No newline at end of file +(Pair "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" "KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat") \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_209_cont_3_params.json b/TezFinTest/CToken_Tests/step_209_cont_3_params.json new file mode 100644 index 00000000..a926b557 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_209_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_209_cont_3_params.py b/TezFinTest/CToken_Tests/step_209_cont_3_params.py new file mode 100644 index 00000000..4efe363e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_209_cont_3_params.py @@ -0,0 +1 @@ +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_209_cont_3_params.tz b/TezFinTest/CToken_Tests/step_209_cont_3_params.tz new file mode 100644 index 00000000..d75d7710 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_209_cont_3_params.tz @@ -0,0 +1 @@ +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_210_cont_3_params.json b/TezFinTest/CToken_Tests/step_210_cont_3_params.json new file mode 100644 index 00000000..5f96d039 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_210_cont_3_params.json @@ -0,0 +1 @@ +{ "int": "100" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_210_cont_3_params.py b/TezFinTest/CToken_Tests/step_210_cont_3_params.py new file mode 100644 index 00000000..105d7d9a --- /dev/null +++ b/TezFinTest/CToken_Tests/step_210_cont_3_params.py @@ -0,0 +1 @@ +100 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_210_cont_3_params.tz b/TezFinTest/CToken_Tests/step_210_cont_3_params.tz new file mode 100644 index 00000000..105d7d9a --- /dev/null +++ b/TezFinTest/CToken_Tests/step_210_cont_3_params.tz @@ -0,0 +1 @@ +100 \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_211_cont_3_params.json b/TezFinTest/CToken_Tests/step_211_cont_3_params.json index fe62036b..ff675086 100644 --- a/TezFinTest/CToken_Tests/step_211_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_211_cont_3_params.json @@ -1 +1 @@ -{ "prim": "Pair", "args": [ { "string": "KT10" }, { "string": "KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat" } ] } \ No newline at end of file +{ "prim": "Pair", "args": [ { "string": "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" }, { "string": "KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat" } ] } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_211_cont_3_params.py b/TezFinTest/CToken_Tests/step_211_cont_3_params.py index b064cea6..474180fb 100644 --- a/TezFinTest/CToken_Tests/step_211_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_211_cont_3_params.py @@ -1 +1 @@ -(sp.address('KT10'), sp.contract(sp.TNat, sp.address('KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat')).open_some()) \ No newline at end of file +(sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi'), sp.contract(sp.TNat, sp.address('KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat')).open_some()) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_211_cont_3_params.tz b/TezFinTest/CToken_Tests/step_211_cont_3_params.tz index 91d9726d..6559a525 100644 --- a/TezFinTest/CToken_Tests/step_211_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_211_cont_3_params.tz @@ -1 +1 @@ -(Pair "KT10" "KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat") \ No newline at end of file +(Pair "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" "KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat") \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_214_cont_3_params.json b/TezFinTest/CToken_Tests/step_214_cont_3_params.json index 0aae7239..fe62036b 100644 --- a/TezFinTest/CToken_Tests/step_214_cont_3_params.json +++ b/TezFinTest/CToken_Tests/step_214_cont_3_params.json @@ -1 +1 @@ -{ "string": "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" } \ No newline at end of file +{ "prim": "Pair", "args": [ { "string": "KT10" }, { "string": "KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat" } ] } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_214_cont_3_params.py b/TezFinTest/CToken_Tests/step_214_cont_3_params.py index dd8d030c..b064cea6 100644 --- a/TezFinTest/CToken_Tests/step_214_cont_3_params.py +++ b/TezFinTest/CToken_Tests/step_214_cont_3_params.py @@ -1 +1 @@ -sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi') \ No newline at end of file +(sp.address('KT10'), sp.contract(sp.TNat, sp.address('KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat')).open_some()) \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_214_cont_3_params.tz b/TezFinTest/CToken_Tests/step_214_cont_3_params.tz index bc7697b8..91d9726d 100644 --- a/TezFinTest/CToken_Tests/step_214_cont_3_params.tz +++ b/TezFinTest/CToken_Tests/step_214_cont_3_params.tz @@ -1 +1 @@ -"tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" \ No newline at end of file +(Pair "KT10" "KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1%targetNat") \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_216_cont_3_params.json b/TezFinTest/CToken_Tests/step_216_cont_3_params.json new file mode 100644 index 00000000..a926b557 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_216_cont_3_params.json @@ -0,0 +1 @@ +{ "prim": "Unit" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_216_cont_3_params.py b/TezFinTest/CToken_Tests/step_216_cont_3_params.py new file mode 100644 index 00000000..4efe363e --- /dev/null +++ b/TezFinTest/CToken_Tests/step_216_cont_3_params.py @@ -0,0 +1 @@ +sp.unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_216_cont_3_params.tz b/TezFinTest/CToken_Tests/step_216_cont_3_params.tz new file mode 100644 index 00000000..d75d7710 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_216_cont_3_params.tz @@ -0,0 +1 @@ +Unit \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_217_cont_3_params.json b/TezFinTest/CToken_Tests/step_217_cont_3_params.json new file mode 100644 index 00000000..0aae7239 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_217_cont_3_params.json @@ -0,0 +1 @@ +{ "string": "tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" } \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_217_cont_3_params.py b/TezFinTest/CToken_Tests/step_217_cont_3_params.py new file mode 100644 index 00000000..dd8d030c --- /dev/null +++ b/TezFinTest/CToken_Tests/step_217_cont_3_params.py @@ -0,0 +1 @@ +sp.address('tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi') \ No newline at end of file diff --git a/TezFinTest/CToken_Tests/step_217_cont_3_params.tz b/TezFinTest/CToken_Tests/step_217_cont_3_params.tz new file mode 100644 index 00000000..bc7697b8 --- /dev/null +++ b/TezFinTest/CToken_Tests/step_217_cont_3_params.tz @@ -0,0 +1 @@ +"tz1WxrQuZ4CK1MBUa2GqUWK1yJ4J6EtG1Gwi" \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/log.html b/TezFinTest/Exponential_Tests/log.html index b33719dd..c19e119c 100644 --- a/TezFinTest/Exponential_Tests/log.html +++ b/TezFinTest/Exponential_Tests/log.html @@ -1,4 +1,4 @@ -

  • Exponential math tests

    +
    +

  • Exponential math tests

    - +

    Exponential math tests

    Contract

    New contract: KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    Balance: 0.000000tz

    @@ -2094,41 +1918,51 @@

    Code:



    class Contract(sp.Contract):
    def __init__(self):
      self.init_type(sp.TRecord(expScale = sp.TNat, halfExpScale = sp.TNat, result = sp.TNat).layout(("expScale", ("halfExpScale", "result"))))
    -
      self.init(expScale = 1000000000000000000,
                halfExpScale = 500000000000000000,
                result = 0)

    +
      self.init(expScale = 1000000000000000000,
                halfExpScale = 500000000000000000,
                result = 0)


    - @sp.entry_point + @sp.entrypoint
    def testAddExp(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(params.a.mantissa + params.b.mantissa, sp.TNat)
      self.data.result = params.a.mantissa + params.b.mantissa

    - @sp.entry_point + @sp.entrypoint
    def testAddExpNat(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(params.b, sp.TNat)
      sp.set_type(params.a.mantissa + (params.b * self.data.expScale), sp.TNat)
      self.data.result = params.a.mantissa + (params.b * self.data.expScale)

    - @sp.entry_point + @sp.entrypoint
    def testDivExpExp(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.verify(params.b.mantissa > 0, 'DIVISION_BY_ZERO')
      sp.set_type((params.a.mantissa * self.data.expScale) // params.b.mantissa, sp.TNat)
      self.data.result = (params.a.mantissa * self.data.expScale) // params.b.mantissa

    - @sp.entry_point + @sp.entrypoint
    def testDivExpNat(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(params.b, sp.TNat)
      sp.verify(params.b > 0, 'DIVISION_BY_ZERO')
      sp.set_type(params.a.mantissa // params.b, sp.TNat)
      self.data.result = params.a.mantissa // params.b

    - @sp.entry_point + @sp.entrypoint
    def testDivNatExp(self, params):
      sp.set_type(params.a, sp.TNat)
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.verify(params.b.mantissa > 0, 'DIVISION_BY_ZERO')
      self.data.result = (params.a * self.data.expScale) // params.b.mantissa

    - @sp.entry_point + @sp.entrypoint +
    def testDivNatExpCeil(self, params):
      sp.set_type(params.a, sp.TNat) +
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.verify(params.b.mantissa > 0, 'DIVISION_BY_ZERO') +
      compute_Exponential_277 = sp.local("compute_Exponential_277", params.a * self.data.expScale) +
      compute_Exponential_280 = sp.local("compute_Exponential_280", compute_Exponential_277.value // params.b.mantissa) +
      sp.if (compute_Exponential_277.value % params.b.mantissa) > 0: +
        pass +
      self.data.result = compute_Exponential_280.value + 1
    +
    + @sp.entrypoint
    def testLessThanExp(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.if params.a.mantissa < params.b.mantissa: @@ -2136,7 +1970,7 @@

    Code:


      sp.else:
        self.data.result = 0

    - @sp.entry_point + @sp.entrypoint
    def testLessThanOrEqualExp(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.if params.a.mantissa <= params.b.mantissa: @@ -2144,30 +1978,30 @@

    Code:


      sp.else:
        self.data.result = 0

    - @sp.entry_point + @sp.entrypoint
    def testMulExpExp(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type((params.a.mantissa * params.b.mantissa) // self.data.expScale, sp.TNat)
      self.data.result = (params.a.mantissa * params.b.mantissa) // self.data.expScale

    - @sp.entry_point + @sp.entrypoint
    def testMulExpNat(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(params.b, sp.TNat)
      sp.set_type(params.a.mantissa * params.b, sp.TNat)
      self.data.result = params.a.mantissa * params.b

    - @sp.entry_point + @sp.entrypoint
    def testMulExpRounded(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(((params.a.mantissa * params.b.mantissa) + self.data.halfExpScale) // self.data.expScale, sp.TNat)
      self.data.result = ((params.a.mantissa * params.b.mantissa) + self.data.halfExpScale) // self.data.expScale

    - @sp.entry_point + @sp.entrypoint
    def testMulNatExp(self, params):
      sp.set_type(params.a, sp.TNat)
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      self.data.result = (params.a * params.b.mantissa) // self.data.expScale

    - @sp.entry_point + @sp.entrypoint
    def testMulScalarTruncate(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(params.scalar, sp.TNat) @@ -2175,7 +2009,7 @@

    Code:


      sp.set_type(sp.record(mantissa = params.a.mantissa * params.scalar), sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      self.data.result = (params.a.mantissa * params.scalar) // self.data.expScale

    - @sp.entry_point + @sp.entrypoint
    def testMulScalarTruncateAdd(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(params.scalar, sp.TNat)
      sp.set_type(params.addend, sp.TNat) @@ -2186,7 +2020,7 @@

    Code:


      sp.set_type(sp.record(mantissa = params.a.mantissa * params.scalar), sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      self.data.result = ((params.a.mantissa * params.scalar) // self.data.expScale) + params.addend

    - @sp.entry_point + @sp.entrypoint
    def testSubExpExp(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa"))
      sp.set_type(params.a.mantissa, sp.TNat) @@ -2194,273 +2028,293 @@

    Code:


      sp.set_type(sp.as_nat(params.a.mantissa - params.b.mantissa, message = 'SUBTRACTION_UNDERFLOW'), sp.TNat)
      self.data.result = sp.as_nat(params.a.mantissa - params.b.mantissa, message = 'SUBTRACTION_UNDERFLOW')

    - @sp.entry_point + @sp.entrypoint
    def testSubNatNat(self, params):
      sp.set_type(params.a, sp.TNat)
      sp.set_type(params.b, sp.TNat)
      self.data.result = sp.as_nat(params.a - params.b, message = 'SUBTRACTION_UNDERFLOW')

    - @sp.entry_point + @sp.entrypoint
    def testTruncate(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) -
      self.data.result = params.a.mantissa // self.data.expScale
  • - +
      self.data.result = params.a.mantissa // self.data.expScale +
    +
    sp.add_compilation_target("test", Contract()) +

    Test add

    - +

    Add Exp + Exp

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Add Exp + Exp : big numbers

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Add Exp + Nat

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Test sub

    - +

    Sub Nat - Nat

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Sub Nat - Nat : underflow

    Reverted transaction
    Transaction

    Transaction [KO] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    -
    AB

    Balance: 0.000000tz

    Error:

    Not the proper variant constructor [Some] != [None]

    Message: 'SUBTRACTION_UNDERFLOW'
    ()
    - +
    B

    Balance: 0.000000tz

    Error:

    Not the proper variant constructor [Some] != [None]

    Message: 'SUBTRACTION_UNDERFLOW'
    ()
    +

    Sub Exp - Exp

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Test mul

    - +

    Mul Exp * Exp

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Mul Exp * Exp : big numbers

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Mul Exp * Nat

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Mul Nat * Exp

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Test div

    - +

    Div Exp / Exp

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Div Exp / Exp : big divisor

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Div Exp / Exp : divide by zero

    Reverted transaction
    Transaction

    Transaction [KO] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    -
    AB
    Mantissa
    Mantissa

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'DIVISION_BY_ZERO'
    ()
    - +
    B
    Mantissa
    Mantissa

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'DIVISION_BY_ZERO'
    ()
    +

    Div Exp / Nat

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Div Exp / Nat : divide by zero

    Reverted transaction
    Transaction

    Transaction [KO] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    -
    AB
    Mantissa

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'DIVISION_BY_ZERO'
    ()
    - +
    B
    Mantissa

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'DIVISION_BY_ZERO'
    ()
    +

    Div Nat / Exp

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Div Nat / Exp : divide by zero

    Reverted transaction
    Transaction

    Transaction [KO] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    -
    AB
    Mantissa

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'DIVISION_BY_ZERO'
    ()
    - +
    B
    Mantissa

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'DIVISION_BY_ZERO'
    ()
    + +

    Div Nat / Exp With Ceil

    + +
    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    +
    AB
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    + +
    ExpScaleHalfExpScaleResult
    ()
    + +
    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    +
    AB
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    + +
    ExpScaleHalfExpScaleResult
    ()
    + + +

    Div Nat / Exp With Ceil : divide by zero

    + +
    Reverted transaction
    Transaction

    Transaction [KO] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    +
    AB
    Mantissa

    Balance: 0.000000tz

    Error:

    Wrong condition:
    Message: 'DIVISION_BY_ZERO'
    ()
    +

    Test truncate

    - +

    Truncate integer

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Truncate small number

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Truncate real

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Test mul scalar truncate

    - +

    Mul real and truncate float

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A Scalar
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Mul real, truncate float and add Nat

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A Addend Scalar
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Test mul rounded

    - +

    Mul rounded, truncate integer

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Mul rounded, round up

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Mul rounded, round down

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Test less than

    - +

    Left less than right

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Left equal to right

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Left greater than right

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Test less than or equal

    - +

    Left less than right

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Left equal to right

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    ()
    - +

    Left greater than right

    Transaction

    Transaction [OK] by [] at time [timestamp(0)] to KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1

    A B
    Mantissa
    Mantissa

    Balance: 0.000000tz

    Operations:

    Storage:

    -
    ExpScale HalfExpScaleResult
    ()
    +
    Result
    () \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/log.txt b/TezFinTest/Exponential_Tests/log.txt index d0677db2..8e282aa4 100644 --- a/TezFinTest/Exponential_Tests/log.txt +++ b/TezFinTest/Exponential_Tests/log.txt @@ -22,6 +22,8 @@ Table Of Contents ## Div Exp / Nat : divide by zero ## Div Nat / Exp ## Div Nat / Exp : divide by zero +## Div Nat / Exp With Ceil +## Div Nat / Exp With Ceil : divide by zero # Test truncate ## Truncate integer ## Truncate small number @@ -43,42 +45,42 @@ Table Of Contents ## Left greater than right Comment... h1: Exponential math tests -Creating contract +Creating contract KT1TezoooozzSmartPyzzSTATiCzzzwwBFA1 -> (Pair 1000000000000000000 (Pair 500000000000000000 0)) - => ../TezFinTest/Exponential_Tests/step_002_cont_0_storage.tz 1 - => ../TezFinTest/Exponential_Tests/step_002_cont_0_storage.json 1 - => ../TezFinTest/Exponential_Tests/step_002_cont_0_sizes.csv 2 - => ../TezFinTest/Exponential_Tests/step_002_cont_0_storage.py 1 - => ../TezFinTest/Exponential_Tests/step_002_cont_0_types.py 7 - => ../TezFinTest/Exponential_Tests/step_002_cont_0_contract.tz 379 - => ../TezFinTest/Exponential_Tests/step_002_cont_0_contract.json 556 - => ../TezFinTest/Exponential_Tests/step_002_cont_0_contract.py 131 - => ../TezFinTest/Exponential_Tests/step_002_cont_0_contract.py.html 2199 + => ./TezFinTest/Exponential_Tests/step_003_cont_0_storage.tz 1 + => ./TezFinTest/Exponential_Tests/step_003_cont_0_storage.json 1 + => ./TezFinTest/Exponential_Tests/step_003_cont_0_sizes.csv 2 + => ./TezFinTest/Exponential_Tests/step_003_cont_0_storage.py 1 + => ./TezFinTest/Exponential_Tests/step_003_cont_0_types.py 7 + => ./TezFinTest/Exponential_Tests/step_003_cont_0_contract.tz 421 + => ./TezFinTest/Exponential_Tests/step_003_cont_0_contract.json 496 + => ./TezFinTest/Exponential_Tests/step_003_cont_0_contract.py 144 + => ./TezFinTest/Exponential_Tests/step_003_cont_0_contract.py.html 2034 Comment... h2: Test add Comment... h3: Add Exp + Exp - => ../TezFinTest/Exponential_Tests/step_005_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_005_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_005_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_006_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_006_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_006_cont_0_params.json 1 Executing testAddExp(sp.record(a = sp.record(mantissa = 2 * 1000000000000000000), b = sp.record(mantissa = 6 * 1000000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 8000000000000000000)) Verifying sp.contract_data(0).result == (8 * 1000000000000000000)... OK Comment... h3: Add Exp + Exp : big numbers - => ../TezFinTest/Exponential_Tests/step_008_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_008_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_008_cont_0_params.json 7 + => ./TezFinTest/Exponential_Tests/step_009_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_009_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_009_cont_0_params.json 6 Executing testAddExp(sp.record(a = sp.record(mantissa = (((2 * 1000000000000000000) * 1000000000000000000) * 1000000000000000000) * 1000000000000000000), b = sp.record(mantissa = (((6 * 1000000000000000000) * 1000000000000000000) * 1000000000000000000) * 1000000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 8000000000000000000000000000000000000000000000000000000000000000000000000)) Verifying sp.contract_data(0).result == (8000000000000000000000000000000000000000000000000000000 * 1000000000000000000)... OK Comment... h3: Add Exp + Nat - => ../TezFinTest/Exponential_Tests/step_011_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_011_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_011_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_012_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_012_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_012_cont_0_params.json 1 Executing testAddExpNat(sp.record(a = sp.record(mantissa = 2 * 1000000000000000000), b = 6))... -> (Pair 1000000000000000000 (Pair 500000000000000000 8000000000000000000)) Verifying sp.contract_data(0).result == (8 * 1000000000000000000)... @@ -87,28 +89,28 @@ Comment... h2: Test sub Comment... h3: Sub Nat - Nat - => ../TezFinTest/Exponential_Tests/step_015_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_015_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_015_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_016_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_016_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_016_cont_0_params.json 1 Executing testSubNatNat(sp.record(a = 6, b = 2))... -> (Pair 1000000000000000000 (Pair 500000000000000000 4)) Verifying sp.contract_data(0).result == 4... OK Comment... h3: Sub Nat - Nat : underflow - => ../TezFinTest/Exponential_Tests/step_018_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_018_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_018_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_019_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_019_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_019_cont_0_params.json 1 Executing testSubNatNat(sp.record(a = 2, b = 6))... -> --- Expected failure in transaction --- Not the proper variant constructor [Some] != [None] -(sp.as_nat(params.a - params.b, message = 'SUBTRACTION_UNDERFLOW') : sp.TNat) (Exponential, line 178) +(sp.as_nat(params.a - params.b, message = 'SUBTRACTION_UNDERFLOW') : sp.TNat) Message: 'SUBTRACTION_UNDERFLOW' - (Exponential, line 178) + (Exponential, line 195) Comment... h3: Sub Exp - Exp - => ../TezFinTest/Exponential_Tests/step_020_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_020_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_020_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_021_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_021_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_021_cont_0_params.json 1 Executing testSubExpExp(sp.record(a = sp.record(mantissa = 6 * 1000000000000000000), b = sp.record(mantissa = 2 * 1000000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 4000000000000000000)) Verifying sp.contract_data(0).result == (4 * 1000000000000000000)... @@ -117,36 +119,36 @@ Comment... h2: Test mul Comment... h3: Mul Exp * Exp - => ../TezFinTest/Exponential_Tests/step_024_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_024_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_024_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_025_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_025_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_025_cont_0_params.json 1 Executing testMulExpExp(sp.record(a = sp.record(mantissa = 2 * 1000000000000000000), b = sp.record(mantissa = 6 * 1000000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 12000000000000000000)) Verifying sp.contract_data(0).result == (12 * 1000000000000000000)... OK Comment... h3: Mul Exp * Exp : big numbers - => ../TezFinTest/Exponential_Tests/step_027_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_027_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_027_cont_0_params.json 7 + => ./TezFinTest/Exponential_Tests/step_028_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_028_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_028_cont_0_params.json 6 Executing testMulExpExp(sp.record(a = sp.record(mantissa = (((2 * 1000000000000000000) * 1000000000000000000) * 1000000000000000000) * 1000000000000000000), b = sp.record(mantissa = (((6 * 1000000000000000000) * 1000000000000000000) * 1000000000000000000) * 1000000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)) Verifying sp.contract_data(0).result == (12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 * 1000000000000000000)... OK Comment... h3: Mul Exp * Nat - => ../TezFinTest/Exponential_Tests/step_030_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_030_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_030_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_031_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_031_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_031_cont_0_params.json 1 Executing testMulExpNat(sp.record(a = sp.record(mantissa = 2 * 1000000000000000000), b = 6))... -> (Pair 1000000000000000000 (Pair 500000000000000000 12000000000000000000)) Verifying sp.contract_data(0).result == (12 * 1000000000000000000)... OK Comment... h3: Mul Nat * Exp - => ../TezFinTest/Exponential_Tests/step_033_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_033_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_033_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_034_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_034_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_034_cont_0_params.json 1 Executing testMulNatExp(sp.record(a = 2, b = sp.record(mantissa = 1500000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 3)) Verifying sp.contract_data(0).result == 3... @@ -155,92 +157,113 @@ Comment... h2: Test div Comment... h3: Div Exp / Exp - => ../TezFinTest/Exponential_Tests/step_037_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_037_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_037_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_038_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_038_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_038_cont_0_params.json 1 Executing testDivExpExp(sp.record(a = sp.record(mantissa = 6 * 1000000000000000000), b = sp.record(mantissa = 2 * 1000000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 3000000000000000000)) Verifying sp.contract_data(0).result == (3 * 1000000000000000000)... OK Comment... h3: Div Exp / Exp : big divisor - => ../TezFinTest/Exponential_Tests/step_040_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_040_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_040_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_041_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_041_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_041_cont_0_params.json 1 Executing testDivExpExp(sp.record(a = sp.record(mantissa = 2 * 1000000000000000000), b = sp.record(mantissa = (((6 * 1000000000000000000) * 1000000000000000000) * 1000000000000000000) * 1000000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 0)) Verifying sp.contract_data(0).result == 0... OK Comment... h3: Div Exp / Exp : divide by zero - => ../TezFinTest/Exponential_Tests/step_043_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_043_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_043_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_044_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_044_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_044_cont_0_params.json 1 Executing testDivExpExp(sp.record(a = sp.record(mantissa = 6 * 1000000000000000000), b = sp.record(mantissa = 0)))... - -> --- Expected failure in transaction --- Wrong condition: (params.b.mantissa > 0 : sp.TBool) (Exponential, line 222) + -> --- Expected failure in transaction --- Exponential:243:: Wrong condition: (params.b.mantissa > 0 : sp.TBool) Message: 'DIVISION_BY_ZERO' - (Exponential, line 222) Comment... h3: Div Exp / Nat - => ../TezFinTest/Exponential_Tests/step_045_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_045_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_045_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_046_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_046_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_046_cont_0_params.json 1 Executing testDivExpNat(sp.record(a = sp.record(mantissa = 6 * 1000000000000000000), b = 4))... -> (Pair 1000000000000000000 (Pair 500000000000000000 1500000000000000000)) Verifying sp.contract_data(0).result == 1500000000000000000... OK Comment... h3: Div Exp / Nat : divide by zero - => ../TezFinTest/Exponential_Tests/step_048_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_048_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_048_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_049_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_049_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_049_cont_0_params.json 1 Executing testDivExpNat(sp.record(a = sp.record(mantissa = 6 * 1000000000000000000), b = 0))... - -> --- Expected failure in transaction --- Wrong condition: (params.b > 0 : sp.TBool) (Exponential, line 234) + -> --- Expected failure in transaction --- Exponential:256:: Wrong condition: (params.b > 0 : sp.TBool) Message: 'DIVISION_BY_ZERO' - (Exponential, line 234) Comment... h3: Div Nat / Exp - => ../TezFinTest/Exponential_Tests/step_050_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_050_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_050_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_051_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_051_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_051_cont_0_params.json 1 Executing testDivNatExp(sp.record(a = 6, b = sp.record(mantissa = 1500000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 4)) Verifying sp.contract_data(0).result == 4... OK Comment... h3: Div Nat / Exp : divide by zero - => ../TezFinTest/Exponential_Tests/step_053_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_053_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_053_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_054_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_054_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_054_cont_0_params.json 1 Executing testDivNatExp(sp.record(a = 6, b = sp.record(mantissa = 0)))... - -> --- Expected failure in transaction --- Wrong condition: (params.b.mantissa > 0 : sp.TBool) (Exponential, line 246) + -> --- Expected failure in transaction --- Exponential:269:: Wrong condition: (params.b.mantissa > 0 : sp.TBool) +Message: 'DIVISION_BY_ZERO' +Comment... + h3: Div Nat / Exp With Ceil + => ./TezFinTest/Exponential_Tests/step_056_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_056_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_056_cont_0_params.json 1 +Executing testDivNatExp(sp.record(a = 1, b = sp.record(mantissa = 1500000000000000000)))... + -> (Pair 1000000000000000000 (Pair 500000000000000000 0)) +Verifying sp.contract_data(0).result == 0... + OK + => ./TezFinTest/Exponential_Tests/step_058_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_058_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_058_cont_0_params.json 1 +Executing testDivNatExpCeil(sp.record(a = 1, b = sp.record(mantissa = 1500000000000000000)))... + -> (Pair 1000000000000000000 (Pair 500000000000000000 1)) +Verifying sp.contract_data(0).result == 1... + OK +Comment... + h3: Div Nat / Exp With Ceil : divide by zero + => ./TezFinTest/Exponential_Tests/step_061_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_061_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_061_cont_0_params.json 1 +Executing testDivNatExpCeil(sp.record(a = 1, b = sp.record(mantissa = 0)))... + -> --- Expected failure in transaction --- Exponential:275:: Wrong condition: (params.b.mantissa > 0 : sp.TBool) Message: 'DIVISION_BY_ZERO' - (Exponential, line 246) Comment... h2: Test truncate Comment... h3: Truncate integer - => ../TezFinTest/Exponential_Tests/step_056_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_056_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_056_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_064_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_064_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_064_cont_0_params.json 1 Executing testTruncate(sp.record(a = sp.record(mantissa = 6 * 1000000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 6)) Verifying sp.contract_data(0).result == 6... OK Comment... h3: Truncate small number - => ../TezFinTest/Exponential_Tests/step_059_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_059_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_059_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_067_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_067_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_067_cont_0_params.json 1 Executing testTruncate(sp.record(a = sp.record(mantissa = 6)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 0)) Verifying sp.contract_data(0).result == 0... OK Comment... h3: Truncate real - => ../TezFinTest/Exponential_Tests/step_062_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_062_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_062_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_070_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_070_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_070_cont_0_params.json 1 Executing testTruncate(sp.record(a = sp.record(mantissa = 1500000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 1)) Verifying sp.contract_data(0).result == 1... @@ -249,18 +272,18 @@ Comment... h2: Test mul scalar truncate Comment... h3: Mul real and truncate float - => ../TezFinTest/Exponential_Tests/step_066_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_066_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_066_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_074_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_074_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_074_cont_0_params.json 1 Executing testMulScalarTruncate(sp.record(a = sp.record(mantissa = 1500000000000000000), scalar = 3))... -> (Pair 1000000000000000000 (Pair 500000000000000000 4)) Verifying sp.contract_data(0).result == 4... OK Comment... h3: Mul real, truncate float and add Nat - => ../TezFinTest/Exponential_Tests/step_069_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_069_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_069_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_077_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_077_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_077_cont_0_params.json 1 Executing testMulScalarTruncateAdd(sp.record(a = sp.record(mantissa = 1500000000000000000), addend = 2, scalar = 3))... -> (Pair 1000000000000000000 (Pair 500000000000000000 6)) Verifying sp.contract_data(0).result == 6... @@ -269,27 +292,27 @@ Comment... h2: Test mul rounded Comment... h3: Mul rounded, truncate integer - => ../TezFinTest/Exponential_Tests/step_073_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_073_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_073_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_081_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_081_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_081_cont_0_params.json 1 Executing testMulExpRounded(sp.record(a = sp.record(mantissa = 2 * 1000000000000000000), b = sp.record(mantissa = 6 * 1000000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 12000000000000000000)) Verifying sp.contract_data(0).result == (12 * 1000000000000000000)... OK Comment... h3: Mul rounded, round up - => ../TezFinTest/Exponential_Tests/step_076_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_076_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_076_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_084_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_084_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_084_cont_0_params.json 1 Executing testMulExpRounded(sp.record(a = sp.record(mantissa = 6), b = sp.record(mantissa = 6600000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 40)) Verifying sp.contract_data(0).result == 40... OK Comment... h3: Mul rounded, round down - => ../TezFinTest/Exponential_Tests/step_079_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_079_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_079_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_087_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_087_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_087_cont_0_params.json 1 Executing testMulExpRounded(sp.record(a = sp.record(mantissa = 4), b = sp.record(mantissa = 6600000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 26)) Verifying sp.contract_data(0).result == 26... @@ -298,27 +321,27 @@ Comment... h2: Test less than Comment... h3: Left less than right - => ../TezFinTest/Exponential_Tests/step_083_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_083_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_083_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_091_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_091_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_091_cont_0_params.json 1 Executing testLessThanExp(sp.record(a = sp.record(mantissa = 2 * 1000000000000000000), b = sp.record(mantissa = 6 * 1000000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 1)) Verifying sp.contract_data(0).result == 1... OK Comment... h3: Left equal to right - => ../TezFinTest/Exponential_Tests/step_086_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_086_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_086_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_094_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_094_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_094_cont_0_params.json 1 Executing testLessThanExp(sp.record(a = sp.record(mantissa = 2 * 1000000000000000000), b = sp.record(mantissa = 2 * 1000000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 0)) Verifying sp.contract_data(0).result == 0... OK Comment... h3: Left greater than right - => ../TezFinTest/Exponential_Tests/step_089_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_089_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_089_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_097_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_097_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_097_cont_0_params.json 1 Executing testLessThanExp(sp.record(a = sp.record(mantissa = 6 * 1000000000000000000), b = sp.record(mantissa = 2 * 1000000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 0)) Verifying sp.contract_data(0).result == 0... @@ -327,29 +350,29 @@ Comment... h2: Test less than or equal Comment... h3: Left less than right - => ../TezFinTest/Exponential_Tests/step_093_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_093_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_093_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_101_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_101_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_101_cont_0_params.json 1 Executing testLessThanOrEqualExp(sp.record(a = sp.record(mantissa = 2 * 1000000000000000000), b = sp.record(mantissa = 6 * 1000000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 1)) Verifying sp.contract_data(0).result == 1... OK Comment... h3: Left equal to right - => ../TezFinTest/Exponential_Tests/step_096_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_096_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_096_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_104_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_104_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_104_cont_0_params.json 1 Executing testLessThanOrEqualExp(sp.record(a = sp.record(mantissa = 2 * 1000000000000000000), b = sp.record(mantissa = 2 * 1000000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 1)) Verifying sp.contract_data(0).result == 1... OK Comment... h3: Left greater than right - => ../TezFinTest/Exponential_Tests/step_099_cont_0_params.py 1 - => ../TezFinTest/Exponential_Tests/step_099_cont_0_params.tz 1 - => ../TezFinTest/Exponential_Tests/step_099_cont_0_params.json 1 + => ./TezFinTest/Exponential_Tests/step_107_cont_0_params.py 1 + => ./TezFinTest/Exponential_Tests/step_107_cont_0_params.tz 1 + => ./TezFinTest/Exponential_Tests/step_107_cont_0_params.json 1 Executing testLessThanOrEqualExp(sp.record(a = sp.record(mantissa = 6 * 1000000000000000000), b = sp.record(mantissa = 2 * 1000000000000000000)))... -> (Pair 1000000000000000000 (Pair 500000000000000000 0)) Verifying sp.contract_data(0).result == 0... OK - => ../TezFinTest/Exponential_Tests/log.html 2466 + => ./TezFinTest/Exponential_Tests/log.html 2320 diff --git a/TezFinTest/Exponential_Tests/step_003_cont_0_contract.json b/TezFinTest/Exponential_Tests/step_003_cont_0_contract.json new file mode 100644 index 00000000..0e7729d7 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_003_cont_0_contract.json @@ -0,0 +1,496 @@ +[ + { + "prim": "storage", + "args": [ + { + "prim": "pair", + "args": [ + { "prim": "nat", "annots": [ "%expScale" ] }, + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%halfExpScale" ] }, { "prim": "nat", "annots": [ "%result" ] } ] } + ] + } + ] + }, + { + "prim": "parameter", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%a" ] }, { "prim": "nat", "annots": [ "%b" ] } ], "annots": [ "%testAddExp" ] }, + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%a" ] }, { "prim": "nat", "annots": [ "%b" ] } ], "annots": [ "%testAddExpNat" ] } + ] + }, + { + "prim": "or", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%a" ] }, { "prim": "nat", "annots": [ "%b" ] } ], "annots": [ "%testDivExpExp" ] }, + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%a" ] }, { "prim": "nat", "annots": [ "%b" ] } ], "annots": [ "%testDivExpNat" ] } + ] + } + ] + }, + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%a" ] }, { "prim": "nat", "annots": [ "%b" ] } ], "annots": [ "%testDivNatExp" ] }, + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%a" ] }, { "prim": "nat", "annots": [ "%b" ] } ], "annots": [ "%testDivNatExpCeil" ] } + ] + }, + { + "prim": "or", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%a" ] }, { "prim": "nat", "annots": [ "%b" ] } ], "annots": [ "%testLessThanExp" ] }, + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%a" ] }, { "prim": "nat", "annots": [ "%b" ] } ], "annots": [ "%testLessThanOrEqualExp" ] } + ] + } + ] + } + ] + }, + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%a" ] }, { "prim": "nat", "annots": [ "%b" ] } ], "annots": [ "%testMulExpExp" ] }, + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%a" ] }, { "prim": "nat", "annots": [ "%b" ] } ], "annots": [ "%testMulExpNat" ] } + ] + }, + { + "prim": "or", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%a" ] }, { "prim": "nat", "annots": [ "%b" ] } ], "annots": [ "%testMulExpRounded" ] }, + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%a" ] }, { "prim": "nat", "annots": [ "%b" ] } ], "annots": [ "%testMulNatExp" ] } + ] + } + ] + }, + { + "prim": "or", + "args": [ + { + "prim": "or", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%a" ] }, { "prim": "nat", "annots": [ "%scalar" ] } ], "annots": [ "%testMulScalarTruncate" ] }, + { + "prim": "pair", + "args": [ + { "prim": "nat", "annots": [ "%a" ] }, + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%addend" ] }, { "prim": "nat", "annots": [ "%scalar" ] } ] } + ], + "annots": [ "%testMulScalarTruncateAdd" ] + } + ] + }, + { + "prim": "or", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%a" ] }, { "prim": "nat", "annots": [ "%b" ] } ], "annots": [ "%testSubExpExp" ] }, + { + "prim": "or", + "args": [ + { "prim": "pair", "args": [ { "prim": "nat", "annots": [ "%a" ] }, { "prim": "nat", "annots": [ "%b" ] } ], "annots": [ "%testSubNatNat" ] }, + { "prim": "nat", "annots": [ "%testTruncate" ] } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "prim": "code", + "args": [ + [ + { "prim": "UNPAIR" }, + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ { "prim": "UNPAIR" }, { "prim": "ADD" }, { "prim": "UPDATE", "args": [ { "int": "4" } ] } ], + [ + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "MUL" }, + { "prim": "SWAP" }, + { "prim": "CAR" }, + { "prim": "ADD" }, + { "prim": "UPDATE", "args": [ { "int": "4" } ] } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "DIVISION_BY_ZERO" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "DUP" }, + { "prim": "CDR" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "244" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "UPDATE", "args": [ { "int": "4" } ] } + ], + [ + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "DIVISION_BY_ZERO" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "UNPAIR" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "257" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "UPDATE", "args": [ { "int": "4" } ] } + ] + ] + } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "DIVISION_BY_ZERO" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "DUP" }, + { "prim": "CDR" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "270" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "UPDATE", "args": [ { "int": "4" } ] } + ], + [ + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "COMPARE" }, + { "prim": "GT" }, + { + "prim": "IF", + "args": [ [], [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "DIVISION_BY_ZERO" } ] }, { "prim": "FAILWITH" } ] ] + }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "MUL" }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CDR" }, + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "280" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "CDR" }, + { "prim": "DUP", "args": [ { "int": "4" } ] }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "281" } ] }, { "prim": "FAILWITH" } ], + [ { "prim": "DROP", "args": [ { "int": "2" } ] }, { "prim": "SWAP" }, { "prim": "DROP" }, { "prim": "SWAP" }, { "prim": "DROP" } ] + ] + }, + { "prim": "SWAP" }, + { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1" } ] }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "ADD" }, + { "prim": "UPDATE", "args": [ { "int": "4" } ] } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "UNPAIR" }, + { "prim": "COMPARE" }, + { "prim": "LT" }, + { + "prim": "IF", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1" } ] }, { "prim": "UPDATE", "args": [ { "int": "4" } ] } ], + [ { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, { "prim": "UPDATE", "args": [ { "int": "4" } ] } ] + ] + } + ], + [ + { "prim": "UNPAIR" }, + { "prim": "COMPARE" }, + { "prim": "LE" }, + { + "prim": "IF", + "args": [ + [ { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "1" } ] }, { "prim": "UPDATE", "args": [ { "int": "4" } ] } ], + [ { "prim": "PUSH", "args": [ { "prim": "nat" }, { "int": "0" } ] }, { "prim": "UPDATE", "args": [ { "int": "4" } ] } ] + ] + } + ] + ] + } + ] + ] + } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "SWAP" }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "UNPAIR" }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "207" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "UPDATE", "args": [ { "int": "4" } ] } + ], + [ { "prim": "UNPAIR" }, { "prim": "MUL" }, { "prim": "UPDATE", "args": [ { "int": "4" } ] } ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "DUP", "args": [ { "int": "2" } ] }, + { "prim": "CAR" }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "UNPAIR" }, + { "prim": "MUL" }, + { "prim": "ADD" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "105" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "UPDATE", "args": [ { "int": "4" } ] } + ], + [ + { "prim": "SWAP" }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "UNPAIR" }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "231" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "UPDATE", "args": [ { "int": "4" } ] } + ] + ] + } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "SWAP" }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "UNPAIR" }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "61" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "UPDATE", "args": [ { "int": "4" } ] } + ], + [ + { "prim": "DUP" }, + { "prim": "GET", "args": [ { "int": "3" } ] }, + { "prim": "DUP", "args": [ { "int": "3" } ] }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "DUP" }, + { "prim": "GET", "args": [ { "int": "4" } ] }, + { "prim": "SWAP" }, + { "prim": "CAR" }, + { "prim": "MUL" }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "61" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "ADD" }, + { "prim": "UPDATE", "args": [ { "int": "4" } ] } + ] + ] + } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "UNPAIR" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "UPDATE", "args": [ { "int": "4" } ] } + ], + [ + { + "prim": "IF_LEFT", + "args": [ + [ + { "prim": "UNPAIR" }, + { "prim": "SUB" }, + { "prim": "ISNAT" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "string" }, { "string": "SUBTRACTION_UNDERFLOW" } ] }, { "prim": "FAILWITH" } ], [] ] + }, + { "prim": "UPDATE", "args": [ { "int": "4" } ] } + ], + [ + { "prim": "SWAP" }, + { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "DIG", "args": [ { "int": "2" } ] }, + { "prim": "EDIV" }, + { + "prim": "IF_NONE", + "args": [ [ { "prim": "PUSH", "args": [ { "prim": "int" }, { "int": "61" } ] }, { "prim": "FAILWITH" } ], [ { "prim": "CAR" } ] ] + }, + { "prim": "UPDATE", "args": [ { "int": "4" } ] } + ] + ] + } + ] + ] + } + ] + ] + } + ] + ] + } + ] + ] + }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } + ] + ] + } +] \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_003_cont_0_contract.py b/TezFinTest/Exponential_Tests/step_003_cont_0_contract.py new file mode 100644 index 00000000..6b5a9ed7 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_003_cont_0_contract.py @@ -0,0 +1,144 @@ +import smartpy as sp + +class Contract(sp.Contract): + def __init__(self): + self.init_type(sp.TRecord(expScale = sp.TNat, halfExpScale = sp.TNat, result = sp.TNat).layout(("expScale", ("halfExpScale", "result")))) + self.init(expScale = 1000000000000000000, + halfExpScale = 500000000000000000, + result = 0) + + @sp.entrypoint + def testAddExp(self, params): + sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params.a.mantissa + params.b.mantissa, sp.TNat) + self.data.result = params.a.mantissa + params.b.mantissa + + @sp.entrypoint + def testAddExpNat(self, params): + sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params.b, sp.TNat) + sp.set_type(params.a.mantissa + (params.b * self.data.expScale), sp.TNat) + self.data.result = params.a.mantissa + (params.b * self.data.expScale) + + @sp.entrypoint + def testDivExpExp(self, params): + sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.verify(params.b.mantissa > 0, 'DIVISION_BY_ZERO') + sp.set_type((params.a.mantissa * self.data.expScale) // params.b.mantissa, sp.TNat) + self.data.result = (params.a.mantissa * self.data.expScale) // params.b.mantissa + + @sp.entrypoint + def testDivExpNat(self, params): + sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params.b, sp.TNat) + sp.verify(params.b > 0, 'DIVISION_BY_ZERO') + sp.set_type(params.a.mantissa // params.b, sp.TNat) + self.data.result = params.a.mantissa // params.b + + @sp.entrypoint + def testDivNatExp(self, params): + sp.set_type(params.a, sp.TNat) + sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.verify(params.b.mantissa > 0, 'DIVISION_BY_ZERO') + self.data.result = (params.a * self.data.expScale) // params.b.mantissa + + @sp.entrypoint + def testDivNatExpCeil(self, params): + sp.set_type(params.a, sp.TNat) + sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.verify(params.b.mantissa > 0, 'DIVISION_BY_ZERO') + compute_Exponential_277 = sp.local("compute_Exponential_277", params.a * self.data.expScale) + compute_Exponential_280 = sp.local("compute_Exponential_280", compute_Exponential_277.value // params.b.mantissa) + sp.if (compute_Exponential_277.value % params.b.mantissa) > 0: + pass + self.data.result = compute_Exponential_280.value + 1 + + @sp.entrypoint + def testLessThanExp(self, params): + sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.if params.a.mantissa < params.b.mantissa: + self.data.result = 1 + sp.else: + self.data.result = 0 + + @sp.entrypoint + def testLessThanOrEqualExp(self, params): + sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.if params.a.mantissa <= params.b.mantissa: + self.data.result = 1 + sp.else: + self.data.result = 0 + + @sp.entrypoint + def testMulExpExp(self, params): + sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type((params.a.mantissa * params.b.mantissa) // self.data.expScale, sp.TNat) + self.data.result = (params.a.mantissa * params.b.mantissa) // self.data.expScale + + @sp.entrypoint + def testMulExpNat(self, params): + sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params.b, sp.TNat) + sp.set_type(params.a.mantissa * params.b, sp.TNat) + self.data.result = params.a.mantissa * params.b + + @sp.entrypoint + def testMulExpRounded(self, params): + sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(((params.a.mantissa * params.b.mantissa) + self.data.halfExpScale) // self.data.expScale, sp.TNat) + self.data.result = ((params.a.mantissa * params.b.mantissa) + self.data.halfExpScale) // self.data.expScale + + @sp.entrypoint + def testMulNatExp(self, params): + sp.set_type(params.a, sp.TNat) + sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + self.data.result = (params.a * params.b.mantissa) // self.data.expScale + + @sp.entrypoint + def testMulScalarTruncate(self, params): + sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params.scalar, sp.TNat) + sp.set_type(params.a.mantissa * params.scalar, sp.TNat) + sp.set_type(sp.record(mantissa = params.a.mantissa * params.scalar), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + self.data.result = (params.a.mantissa * params.scalar) // self.data.expScale + + @sp.entrypoint + def testMulScalarTruncateAdd(self, params): + sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params.scalar, sp.TNat) + sp.set_type(params.addend, sp.TNat) + sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params.scalar, sp.TNat) + sp.set_type(params.a.mantissa * params.scalar, sp.TNat) + sp.set_type(sp.record(mantissa = params.a.mantissa * params.scalar), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + self.data.result = ((params.a.mantissa * params.scalar) // self.data.expScale) + params.addend + + @sp.entrypoint + def testSubExpExp(self, params): + sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + sp.set_type(params.a.mantissa, sp.TNat) + sp.set_type(params.b.mantissa, sp.TNat) + sp.set_type(sp.as_nat(params.a.mantissa - params.b.mantissa, message = 'SUBTRACTION_UNDERFLOW'), sp.TNat) + self.data.result = sp.as_nat(params.a.mantissa - params.b.mantissa, message = 'SUBTRACTION_UNDERFLOW') + + @sp.entrypoint + def testSubNatNat(self, params): + sp.set_type(params.a, sp.TNat) + sp.set_type(params.b, sp.TNat) + self.data.result = sp.as_nat(params.a - params.b, message = 'SUBTRACTION_UNDERFLOW') + + @sp.entrypoint + def testTruncate(self, params): + sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) + self.data.result = params.a.mantissa // self.data.expScale + +sp.add_compilation_target("test", Contract()) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_003_cont_0_contract.py.html b/TezFinTest/Exponential_Tests/step_003_cont_0_contract.py.html new file mode 100644 index 00000000..336405c3 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_003_cont_0_contract.py.html @@ -0,0 +1,2034 @@ +

    Balance: 0.000000tz

    +

    Storage:

    +
    + +
    ExpScaleHalfExpScaleResult
    +

    Code:

    +import smartpy as sp +
    +
    class Contract(sp.Contract): +
    def __init__(self):
      self.init_type(sp.TRecord(expScale = sp.TNat, halfExpScale = sp.TNat, result = sp.TNat).layout(("expScale", ("halfExpScale", "result"))))
    +
      self.init(expScale = 1000000000000000000,
                halfExpScale = 500000000000000000,
                result = 0)

    +
    + @sp.entrypoint +
    def testAddExp(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(params.a.mantissa + params.b.mantissa, sp.TNat) +
      self.data.result = params.a.mantissa + params.b.mantissa
    +
    + @sp.entrypoint +
    def testAddExpNat(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(params.b, sp.TNat) +
      sp.set_type(params.a.mantissa + (params.b * self.data.expScale), sp.TNat) +
      self.data.result = params.a.mantissa + (params.b * self.data.expScale)
    +
    + @sp.entrypoint +
    def testDivExpExp(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.verify(params.b.mantissa > 0, 'DIVISION_BY_ZERO') +
      sp.set_type((params.a.mantissa * self.data.expScale) // params.b.mantissa, sp.TNat) +
      self.data.result = (params.a.mantissa * self.data.expScale) // params.b.mantissa
    +
    + @sp.entrypoint +
    def testDivExpNat(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(params.b, sp.TNat) +
      sp.verify(params.b > 0, 'DIVISION_BY_ZERO') +
      sp.set_type(params.a.mantissa // params.b, sp.TNat) +
      self.data.result = params.a.mantissa // params.b
    +
    + @sp.entrypoint +
    def testDivNatExp(self, params):
      sp.set_type(params.a, sp.TNat) +
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.verify(params.b.mantissa > 0, 'DIVISION_BY_ZERO') +
      self.data.result = (params.a * self.data.expScale) // params.b.mantissa
    +
    + @sp.entrypoint +
    def testDivNatExpCeil(self, params):
      sp.set_type(params.a, sp.TNat) +
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.verify(params.b.mantissa > 0, 'DIVISION_BY_ZERO') +
      compute_Exponential_277 = sp.local("compute_Exponential_277", params.a * self.data.expScale) +
      compute_Exponential_280 = sp.local("compute_Exponential_280", compute_Exponential_277.value // params.b.mantissa) +
      sp.if (compute_Exponential_277.value % params.b.mantissa) > 0: +
        pass +
      self.data.result = compute_Exponential_280.value + 1
    +
    + @sp.entrypoint +
    def testLessThanExp(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.if params.a.mantissa < params.b.mantissa: +
        self.data.result = 1 +
      sp.else: +
        self.data.result = 0
    +
    + @sp.entrypoint +
    def testLessThanOrEqualExp(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.if params.a.mantissa <= params.b.mantissa: +
        self.data.result = 1 +
      sp.else: +
        self.data.result = 0
    +
    + @sp.entrypoint +
    def testMulExpExp(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type((params.a.mantissa * params.b.mantissa) // self.data.expScale, sp.TNat) +
      self.data.result = (params.a.mantissa * params.b.mantissa) // self.data.expScale
    +
    + @sp.entrypoint +
    def testMulExpNat(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(params.b, sp.TNat) +
      sp.set_type(params.a.mantissa * params.b, sp.TNat) +
      self.data.result = params.a.mantissa * params.b
    +
    + @sp.entrypoint +
    def testMulExpRounded(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(((params.a.mantissa * params.b.mantissa) + self.data.halfExpScale) // self.data.expScale, sp.TNat) +
      self.data.result = ((params.a.mantissa * params.b.mantissa) + self.data.halfExpScale) // self.data.expScale
    +
    + @sp.entrypoint +
    def testMulNatExp(self, params):
      sp.set_type(params.a, sp.TNat) +
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      self.data.result = (params.a * params.b.mantissa) // self.data.expScale
    +
    + @sp.entrypoint +
    def testMulScalarTruncate(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(params.scalar, sp.TNat) +
      sp.set_type(params.a.mantissa * params.scalar, sp.TNat) +
      sp.set_type(sp.record(mantissa = params.a.mantissa * params.scalar), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      self.data.result = (params.a.mantissa * params.scalar) // self.data.expScale
    +
    + @sp.entrypoint +
    def testMulScalarTruncateAdd(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(params.scalar, sp.TNat) +
      sp.set_type(params.addend, sp.TNat) +
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(params.scalar, sp.TNat) +
      sp.set_type(params.a.mantissa * params.scalar, sp.TNat) +
      sp.set_type(sp.record(mantissa = params.a.mantissa * params.scalar), sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      self.data.result = ((params.a.mantissa * params.scalar) // self.data.expScale) + params.addend
    +
    + @sp.entrypoint +
    def testSubExpExp(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(params.b, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      sp.set_type(params.a.mantissa, sp.TNat) +
      sp.set_type(params.b.mantissa, sp.TNat) +
      sp.set_type(sp.as_nat(params.a.mantissa - params.b.mantissa, message = 'SUBTRACTION_UNDERFLOW'), sp.TNat) +
      self.data.result = sp.as_nat(params.a.mantissa - params.b.mantissa, message = 'SUBTRACTION_UNDERFLOW')
    +
    + @sp.entrypoint +
    def testSubNatNat(self, params):
      sp.set_type(params.a, sp.TNat) +
      sp.set_type(params.b, sp.TNat) +
      self.data.result = sp.as_nat(params.a - params.b, message = 'SUBTRACTION_UNDERFLOW')
    +
    + @sp.entrypoint +
    def testTruncate(self, params):
      sp.set_type(params.a, sp.TRecord(mantissa = sp.TNat).layout("mantissa")) +
      self.data.result = params.a.mantissa // self.data.expScale
    +
    +
    sp.add_compilation_target("test", Contract())
    \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_003_cont_0_contract.tz b/TezFinTest/Exponential_Tests/step_003_cont_0_contract.tz new file mode 100644 index 00000000..675ce577 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_003_cont_0_contract.tz @@ -0,0 +1,421 @@ +parameter (or (or (or (or (pair %testAddExp (nat %a) (nat %b)) (pair %testAddExpNat (nat %a) (nat %b))) (or (pair %testDivExpExp (nat %a) (nat %b)) (pair %testDivExpNat (nat %a) (nat %b)))) (or (or (pair %testDivNatExp (nat %a) (nat %b)) (pair %testDivNatExpCeil (nat %a) (nat %b))) (or (pair %testLessThanExp (nat %a) (nat %b)) (pair %testLessThanOrEqualExp (nat %a) (nat %b))))) (or (or (or (pair %testMulExpExp (nat %a) (nat %b)) (pair %testMulExpNat (nat %a) (nat %b))) (or (pair %testMulExpRounded (nat %a) (nat %b)) (pair %testMulNatExp (nat %a) (nat %b)))) (or (or (pair %testMulScalarTruncate (nat %a) (nat %scalar)) (pair %testMulScalarTruncateAdd (nat %a) (pair (nat %addend) (nat %scalar)))) (or (pair %testSubExpExp (nat %a) (nat %b)) (or (pair %testSubNatNat (nat %a) (nat %b)) (nat %testTruncate)))))); +storage (pair (nat %expScale) (pair (nat %halfExpScale) (nat %result))); +code + { + UNPAIR; # @parameter : @storage + IF_LEFT + { + IF_LEFT + { + IF_LEFT + { + IF_LEFT + { + # == testAddExp == + # self.data.result = params.a.mantissa + params.b.mantissa # @parameter%testAddExp : @storage + UNPAIR; # nat : nat : @storage + ADD; # nat : @storage + UPDATE 4; # @storage + } + { + # == testAddExpNat == + # self.data.result = params.a.mantissa + (params.b * self.data.expScale) # @parameter%testAddExpNat : @storage + DUP 2; # @storage : @parameter%testAddExpNat : @storage + CAR; # nat : @parameter%testAddExpNat : @storage + DUP 2; # @parameter%testAddExpNat : nat : @parameter%testAddExpNat : @storage + CDR; # nat : nat : @parameter%testAddExpNat : @storage + MUL; # nat : @parameter%testAddExpNat : @storage + SWAP; # @parameter%testAddExpNat : nat : @storage + CAR; # nat : nat : @storage + ADD; # nat : @storage + UPDATE 4; # @storage + }; # @storage + } + { + IF_LEFT + { + # == testDivExpExp == + # sp.verify(params.b.mantissa > 0, 'DIVISION_BY_ZERO') # @parameter%testDivExpExp : @storage + PUSH nat 0; # nat : @parameter%testDivExpExp : @storage + DUP 2; # @parameter%testDivExpExp : nat : @parameter%testDivExpExp : @storage + CDR; # nat : nat : @parameter%testDivExpExp : @storage + COMPARE; # int : @parameter%testDivExpExp : @storage + GT; # bool : @parameter%testDivExpExp : @storage + IF + {} + { + PUSH string "DIVISION_BY_ZERO"; # string : @parameter%testDivExpExp : @storage + FAILWITH; # FAILED + }; # @parameter%testDivExpExp : @storage + # self.data.result = (params.a.mantissa * self.data.expScale) // params.b.mantissa # @parameter%testDivExpExp : @storage + DUP; # @parameter%testDivExpExp : @parameter%testDivExpExp : @storage + CDR; # nat : @parameter%testDivExpExp : @storage + DUP 3; # @storage : nat : @parameter%testDivExpExp : @storage + CAR; # nat : nat : @parameter%testDivExpExp : @storage + DIG 2; # @parameter%testDivExpExp : nat : nat : @storage + CAR; # nat : nat : nat : @storage + MUL; # nat : nat : @storage + EDIV; # option (pair nat nat) : @storage + IF_NONE + { + PUSH int 244; # int : @storage + FAILWITH; # FAILED + } + { + CAR; # nat : @storage + }; # nat : @storage + UPDATE 4; # @storage + } + { + # == testDivExpNat == + # sp.verify(params.b > 0, 'DIVISION_BY_ZERO') # @parameter%testDivExpNat : @storage + PUSH nat 0; # nat : @parameter%testDivExpNat : @storage + DUP 2; # @parameter%testDivExpNat : nat : @parameter%testDivExpNat : @storage + CDR; # nat : nat : @parameter%testDivExpNat : @storage + COMPARE; # int : @parameter%testDivExpNat : @storage + GT; # bool : @parameter%testDivExpNat : @storage + IF + {} + { + PUSH string "DIVISION_BY_ZERO"; # string : @parameter%testDivExpNat : @storage + FAILWITH; # FAILED + }; # @parameter%testDivExpNat : @storage + # self.data.result = params.a.mantissa // params.b # @parameter%testDivExpNat : @storage + UNPAIR; # nat : nat : @storage + EDIV; # option (pair nat nat) : @storage + IF_NONE + { + PUSH int 257; # int : @storage + FAILWITH; # FAILED + } + { + CAR; # nat : @storage + }; # nat : @storage + UPDATE 4; # @storage + }; # @storage + }; # @storage + } + { + IF_LEFT + { + IF_LEFT + { + # == testDivNatExp == + # sp.verify(params.b.mantissa > 0, 'DIVISION_BY_ZERO') # @parameter%testDivNatExp : @storage + PUSH nat 0; # nat : @parameter%testDivNatExp : @storage + DUP 2; # @parameter%testDivNatExp : nat : @parameter%testDivNatExp : @storage + CDR; # nat : nat : @parameter%testDivNatExp : @storage + COMPARE; # int : @parameter%testDivNatExp : @storage + GT; # bool : @parameter%testDivNatExp : @storage + IF + {} + { + PUSH string "DIVISION_BY_ZERO"; # string : @parameter%testDivNatExp : @storage + FAILWITH; # FAILED + }; # @parameter%testDivNatExp : @storage + # self.data.result = (params.a * self.data.expScale) // params.b.mantissa # @parameter%testDivNatExp : @storage + DUP; # @parameter%testDivNatExp : @parameter%testDivNatExp : @storage + CDR; # nat : @parameter%testDivNatExp : @storage + DUP 3; # @storage : nat : @parameter%testDivNatExp : @storage + CAR; # nat : nat : @parameter%testDivNatExp : @storage + DIG 2; # @parameter%testDivNatExp : nat : nat : @storage + CAR; # nat : nat : nat : @storage + MUL; # nat : nat : @storage + EDIV; # option (pair nat nat) : @storage + IF_NONE + { + PUSH int 270; # int : @storage + FAILWITH; # FAILED + } + { + CAR; # nat : @storage + }; # nat : @storage + UPDATE 4; # @storage + } + { + # == testDivNatExpCeil == + # sp.verify(params.b.mantissa > 0, 'DIVISION_BY_ZERO') # @parameter%testDivNatExpCeil : @storage + PUSH nat 0; # nat : @parameter%testDivNatExpCeil : @storage + DUP 2; # @parameter%testDivNatExpCeil : nat : @parameter%testDivNatExpCeil : @storage + CDR; # nat : nat : @parameter%testDivNatExpCeil : @storage + COMPARE; # int : @parameter%testDivNatExpCeil : @storage + GT; # bool : @parameter%testDivNatExpCeil : @storage + IF + {} + { + PUSH string "DIVISION_BY_ZERO"; # string : @parameter%testDivNatExpCeil : @storage + FAILWITH; # FAILED + }; # @parameter%testDivNatExpCeil : @storage + # compute_Exponential_277 = sp.local("compute_Exponential_277", params.a * self.data.expScale) # @parameter%testDivNatExpCeil : @storage + DUP 2; # @storage : @parameter%testDivNatExpCeil : @storage + CAR; # nat : @parameter%testDivNatExpCeil : @storage + DUP 2; # @parameter%testDivNatExpCeil : nat : @parameter%testDivNatExpCeil : @storage + CAR; # nat : nat : @parameter%testDivNatExpCeil : @storage + MUL; # nat : @parameter%testDivNatExpCeil : @storage + # compute_Exponential_280 = sp.local("compute_Exponential_280", compute_Exponential_277.value // params.b.mantissa) # nat : @parameter%testDivNatExpCeil : @storage + DUP 2; # @parameter%testDivNatExpCeil : nat : @parameter%testDivNatExpCeil : @storage + CDR; # nat : nat : @parameter%testDivNatExpCeil : @storage + DUP 2; # nat : nat : nat : @parameter%testDivNatExpCeil : @storage + EDIV; # option (pair nat nat) : nat : @parameter%testDivNatExpCeil : @storage + IF_NONE + { + PUSH int 280; # int : nat : @parameter%testDivNatExpCeil : @storage + FAILWITH; # FAILED + } + { + CAR; # nat : nat : @parameter%testDivNatExpCeil : @storage + }; # nat : nat : @parameter%testDivNatExpCeil : @storage + # if (compute_Exponential_277.value % params.b.mantissa) > 0: # nat : nat : @parameter%testDivNatExpCeil : @storage + PUSH nat 0; # nat : nat : nat : @parameter%testDivNatExpCeil : @storage + DUP 4; # @parameter%testDivNatExpCeil : nat : nat : nat : @parameter%testDivNatExpCeil : @storage + CDR; # nat : nat : nat : nat : @parameter%testDivNatExpCeil : @storage + DUP 4; # nat : nat : nat : nat : nat : @parameter%testDivNatExpCeil : @storage + EDIV; # option (pair nat nat) : nat : nat : nat : @parameter%testDivNatExpCeil : @storage + IF_NONE + { + PUSH int 281; # int : nat : nat : nat : @parameter%testDivNatExpCeil : @storage + FAILWITH; # FAILED + } + { + DROP 2; # nat : nat : @parameter%testDivNatExpCeil : @storage + SWAP; # nat : nat : @parameter%testDivNatExpCeil : @storage + DROP; # nat : @parameter%testDivNatExpCeil : @storage + SWAP; # @parameter%testDivNatExpCeil : nat : @storage + DROP; # nat : @storage + }; # nat : @storage + SWAP; # @storage : nat + # self.data.result = compute_Exponential_280.value + 1 # @storage : nat + PUSH nat 1; # nat : @storage : nat + DIG 2; # nat : nat : @storage + ADD; # nat : @storage + UPDATE 4; # @storage + }; # @storage + } + { + IF_LEFT + { + # == testLessThanExp == + # if params.a.mantissa < params.b.mantissa: # @parameter%testLessThanExp : @storage + UNPAIR; # nat : nat : @storage + COMPARE; # int : @storage + LT; # bool : @storage + IF + { + # self.data.result = 1 # @storage + PUSH nat 1; # nat : @storage + UPDATE 4; # @storage + } + { + # self.data.result = 0 # @storage + PUSH nat 0; # nat : @storage + UPDATE 4; # @storage + }; # @storage + } + { + # == testLessThanOrEqualExp == + # if params.a.mantissa <= params.b.mantissa: # @parameter%testLessThanOrEqualExp : @storage + UNPAIR; # nat : nat : @storage + COMPARE; # int : @storage + LE; # bool : @storage + IF + { + # self.data.result = 1 # @storage + PUSH nat 1; # nat : @storage + UPDATE 4; # @storage + } + { + # self.data.result = 0 # @storage + PUSH nat 0; # nat : @storage + UPDATE 4; # @storage + }; # @storage + }; # @storage + }; # @storage + }; # @storage + } + { + IF_LEFT + { + IF_LEFT + { + IF_LEFT + { + SWAP; # @storage : @parameter%testMulExpExp + # == testMulExpExp == + # self.data.result = (params.a.mantissa * params.b.mantissa) // self.data.expScale # @storage : @parameter%testMulExpExp + DUP; # @storage : @storage : @parameter%testMulExpExp + CAR; # nat : @storage : @parameter%testMulExpExp + DIG 2; # @parameter%testMulExpExp : nat : @storage + UNPAIR; # nat : nat : nat : @storage + MUL; # nat : nat : @storage + EDIV; # option (pair nat nat) : @storage + IF_NONE + { + PUSH int 207; # int : @storage + FAILWITH; # FAILED + } + { + CAR; # nat : @storage + }; # nat : @storage + UPDATE 4; # @storage + } + { + # == testMulExpNat == + # self.data.result = params.a.mantissa * params.b # @parameter%testMulExpNat : @storage + UNPAIR; # nat : nat : @storage + MUL; # nat : @storage + UPDATE 4; # @storage + }; # @storage + } + { + IF_LEFT + { + # == testMulExpRounded == + # self.data.result = ((params.a.mantissa * params.b.mantissa) + self.data.halfExpScale) // self.data.expScale # @parameter%testMulExpRounded : @storage + DUP 2; # @storage : @parameter%testMulExpRounded : @storage + CAR; # nat : @parameter%testMulExpRounded : @storage + DUP 3; # @storage : nat : @parameter%testMulExpRounded : @storage + GET 3; # nat : nat : @parameter%testMulExpRounded : @storage + DIG 2; # @parameter%testMulExpRounded : nat : nat : @storage + UNPAIR; # nat : nat : nat : nat : @storage + MUL; # nat : nat : nat : @storage + ADD; # nat : nat : @storage + EDIV; # option (pair nat nat) : @storage + IF_NONE + { + PUSH int 105; # int : @storage + FAILWITH; # FAILED + } + { + CAR; # nat : @storage + }; # nat : @storage + UPDATE 4; # @storage + } + { + SWAP; # @storage : @parameter%testMulNatExp + # == testMulNatExp == + # self.data.result = (params.a * params.b.mantissa) // self.data.expScale # @storage : @parameter%testMulNatExp + DUP; # @storage : @storage : @parameter%testMulNatExp + CAR; # nat : @storage : @parameter%testMulNatExp + DIG 2; # @parameter%testMulNatExp : nat : @storage + UNPAIR; # nat : nat : nat : @storage + MUL; # nat : nat : @storage + EDIV; # option (pair nat nat) : @storage + IF_NONE + { + PUSH int 231; # int : @storage + FAILWITH; # FAILED + } + { + CAR; # nat : @storage + }; # nat : @storage + UPDATE 4; # @storage + }; # @storage + }; # @storage + } + { + IF_LEFT + { + IF_LEFT + { + SWAP; # @storage : @parameter%testMulScalarTruncate + # == testMulScalarTruncate == + # self.data.result = (params.a.mantissa * params.scalar) // self.data.expScale # @storage : @parameter%testMulScalarTruncate + DUP; # @storage : @storage : @parameter%testMulScalarTruncate + CAR; # nat : @storage : @parameter%testMulScalarTruncate + DIG 2; # @parameter%testMulScalarTruncate : nat : @storage + UNPAIR; # nat : nat : nat : @storage + MUL; # nat : nat : @storage + EDIV; # option (pair nat nat) : @storage + IF_NONE + { + PUSH int 61; # int : @storage + FAILWITH; # FAILED + } + { + CAR; # nat : @storage + }; # nat : @storage + UPDATE 4; # @storage + } + { + # == testMulScalarTruncateAdd == + # self.data.result = ((params.a.mantissa * params.scalar) // self.data.expScale) + params.addend # @parameter%testMulScalarTruncateAdd : @storage + DUP; # @parameter%testMulScalarTruncateAdd : @parameter%testMulScalarTruncateAdd : @storage + GET 3; # nat : @parameter%testMulScalarTruncateAdd : @storage + DUP 3; # @storage : nat : @parameter%testMulScalarTruncateAdd : @storage + CAR; # nat : nat : @parameter%testMulScalarTruncateAdd : @storage + DIG 2; # @parameter%testMulScalarTruncateAdd : nat : nat : @storage + DUP; # @parameter%testMulScalarTruncateAdd : @parameter%testMulScalarTruncateAdd : nat : nat : @storage + GET 4; # nat : @parameter%testMulScalarTruncateAdd : nat : nat : @storage + SWAP; # @parameter%testMulScalarTruncateAdd : nat : nat : nat : @storage + CAR; # nat : nat : nat : nat : @storage + MUL; # nat : nat : nat : @storage + EDIV; # option (pair nat nat) : nat : @storage + IF_NONE + { + PUSH int 61; # int : nat : @storage + FAILWITH; # FAILED + } + { + CAR; # nat : nat : @storage + }; # nat : nat : @storage + ADD; # nat : @storage + UPDATE 4; # @storage + }; # @storage + } + { + IF_LEFT + { + # == testSubExpExp == + # self.data.result = sp.as_nat(params.a.mantissa - params.b.mantissa, message = 'SUBTRACTION_UNDERFLOW') # @parameter%testSubExpExp : @storage + UNPAIR; # nat : nat : @storage + SUB; # int : @storage + ISNAT; # option nat : @storage + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : @storage + FAILWITH; # FAILED + } + {}; # @some : @storage + UPDATE 4; # @storage + } + { + IF_LEFT + { + # == testSubNatNat == + # self.data.result = sp.as_nat(params.a - params.b, message = 'SUBTRACTION_UNDERFLOW') # @parameter%testSubNatNat : @storage + UNPAIR; # nat : nat : @storage + SUB; # int : @storage + ISNAT; # option nat : @storage + IF_NONE + { + PUSH string "SUBTRACTION_UNDERFLOW"; # string : @storage + FAILWITH; # FAILED + } + {}; # @some : @storage + UPDATE 4; # @storage + } + { + SWAP; # @storage : @parameter%testTruncate + # == testTruncate == + # self.data.result = params.a.mantissa // self.data.expScale # @storage : @parameter%testTruncate + DUP; # @storage : @storage : @parameter%testTruncate + CAR; # nat : @storage : @parameter%testTruncate + DIG 2; # @parameter%testTruncate : nat : @storage + EDIV; # option (pair nat nat) : @storage + IF_NONE + { + PUSH int 61; # int : @storage + FAILWITH; # FAILED + } + { + CAR; # nat : @storage + }; # nat : @storage + UPDATE 4; # @storage + }; # @storage + }; # @storage + }; # @storage + }; # @storage + }; # @storage + NIL operation; # list operation : @storage + PAIR; # pair (list operation) @storage + }; \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_003_cont_0_sizes.csv b/TezFinTest/Exponential_Tests/step_003_cont_0_sizes.csv new file mode 100644 index 00000000..f9432134 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_003_cont_0_sizes.csv @@ -0,0 +1,2 @@ +storage,26 +contract,1918 \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_003_cont_0_storage.json b/TezFinTest/Exponential_Tests/step_003_cont_0_storage.json new file mode 100644 index 00000000..3cfd1284 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_003_cont_0_storage.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "1000000000000000000" }, { "prim": "Pair", "args": [ { "int": "500000000000000000" }, { "int": "0" } ] } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_003_cont_0_storage.py b/TezFinTest/Exponential_Tests/step_003_cont_0_storage.py new file mode 100644 index 00000000..4f6f6019 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_003_cont_0_storage.py @@ -0,0 +1 @@ +sp.record(expScale = 1000000000000000000, halfExpScale = 500000000000000000, result = 0) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_003_cont_0_storage.tz b/TezFinTest/Exponential_Tests/step_003_cont_0_storage.tz new file mode 100644 index 00000000..fcb60a68 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_003_cont_0_storage.tz @@ -0,0 +1 @@ +(Pair 1000000000000000000 (Pair 500000000000000000 0)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_003_cont_0_types.py b/TezFinTest/Exponential_Tests/step_003_cont_0_types.py new file mode 100644 index 00000000..43ed825e --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_003_cont_0_types.py @@ -0,0 +1,6 @@ +import smartpy as sp + +tstorage = sp.TRecord(expScale = sp.TNat, halfExpScale = sp.TNat, result = sp.TNat).layout(("expScale", ("halfExpScale", "result"))) +tparameter = sp.TVariant(testAddExp = sp.TRecord(a = sp.TRecord(mantissa = sp.TNat).layout("mantissa"), b = sp.TRecord(mantissa = sp.TNat).layout("mantissa")).layout(("a", "b")), testAddExpNat = sp.TRecord(a = sp.TRecord(mantissa = sp.TNat).layout("mantissa"), b = sp.TNat).layout(("a", "b")), testDivExpExp = sp.TRecord(a = sp.TRecord(mantissa = sp.TNat).layout("mantissa"), b = sp.TRecord(mantissa = sp.TNat).layout("mantissa")).layout(("a", "b")), testDivExpNat = sp.TRecord(a = sp.TRecord(mantissa = sp.TNat).layout("mantissa"), b = sp.TNat).layout(("a", "b")), testDivNatExp = sp.TRecord(a = sp.TNat, b = sp.TRecord(mantissa = sp.TNat).layout("mantissa")).layout(("a", "b")), testDivNatExpCeil = sp.TRecord(a = sp.TNat, b = sp.TRecord(mantissa = sp.TNat).layout("mantissa")).layout(("a", "b")), testLessThanExp = sp.TRecord(a = sp.TRecord(mantissa = sp.TNat).layout("mantissa"), b = sp.TRecord(mantissa = sp.TNat).layout("mantissa")).layout(("a", "b")), testLessThanOrEqualExp = sp.TRecord(a = sp.TRecord(mantissa = sp.TNat).layout("mantissa"), b = sp.TRecord(mantissa = sp.TNat).layout("mantissa")).layout(("a", "b")), testMulExpExp = sp.TRecord(a = sp.TRecord(mantissa = sp.TNat).layout("mantissa"), b = sp.TRecord(mantissa = sp.TNat).layout("mantissa")).layout(("a", "b")), testMulExpNat = sp.TRecord(a = sp.TRecord(mantissa = sp.TNat).layout("mantissa"), b = sp.TNat).layout(("a", "b")), testMulExpRounded = sp.TRecord(a = sp.TRecord(mantissa = sp.TNat).layout("mantissa"), b = sp.TRecord(mantissa = sp.TNat).layout("mantissa")).layout(("a", "b")), testMulNatExp = sp.TRecord(a = sp.TNat, b = sp.TRecord(mantissa = sp.TNat).layout("mantissa")).layout(("a", "b")), testMulScalarTruncate = sp.TRecord(a = sp.TRecord(mantissa = sp.TNat).layout("mantissa"), scalar = sp.TNat).layout(("a", "scalar")), testMulScalarTruncateAdd = sp.TRecord(a = sp.TRecord(mantissa = sp.TNat).layout("mantissa"), addend = sp.TNat, scalar = sp.TNat).layout(("a", ("addend", "scalar"))), testSubExpExp = sp.TRecord(a = sp.TRecord(mantissa = sp.TNat).layout("mantissa"), b = sp.TRecord(mantissa = sp.TNat).layout("mantissa")).layout(("a", "b")), testSubNatNat = sp.TRecord(a = sp.TNat, b = sp.TNat).layout(("a", "b")), testTruncate = sp.TRecord(a = sp.TRecord(mantissa = sp.TNat).layout("mantissa")).layout("a")).layout((((("testAddExp", "testAddExpNat"), ("testDivExpExp", "testDivExpNat")), (("testDivNatExp", "testDivNatExpCeil"), ("testLessThanExp", "testLessThanOrEqualExp"))), ((("testMulExpExp", "testMulExpNat"), ("testMulExpRounded", "testMulNatExp")), (("testMulScalarTruncate", "testMulScalarTruncateAdd"), ("testSubExpExp", ("testSubNatNat", "testTruncate")))))) +tprivates = { } +tviews = { } diff --git a/TezFinTest/Exponential_Tests/step_006_cont_0_params.json b/TezFinTest/Exponential_Tests/step_006_cont_0_params.json new file mode 100644 index 00000000..184782d3 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_006_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "2000000000000000000" }, { "int": "6000000000000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_006_cont_0_params.py b/TezFinTest/Exponential_Tests/step_006_cont_0_params.py new file mode 100644 index 00000000..e2c731d7 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_006_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 2000000000000000000), b = sp.record(mantissa = 6000000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_006_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_006_cont_0_params.tz new file mode 100644 index 00000000..aee514e0 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_006_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 2000000000000000000 6000000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_009_cont_0_params.json b/TezFinTest/Exponential_Tests/step_009_cont_0_params.json new file mode 100644 index 00000000..ce55536c --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_009_cont_0_params.json @@ -0,0 +1,6 @@ +{ + "prim": "Pair", + "args": [ + { "int": "2000000000000000000000000000000000000000000000000000000000000000000000000" }, { "int": "6000000000000000000000000000000000000000000000000000000000000000000000000" } + ] +} \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_009_cont_0_params.py b/TezFinTest/Exponential_Tests/step_009_cont_0_params.py new file mode 100644 index 00000000..b849dec3 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_009_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 2000000000000000000000000000000000000000000000000000000000000000000000000), b = sp.record(mantissa = 6000000000000000000000000000000000000000000000000000000000000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_009_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_009_cont_0_params.tz new file mode 100644 index 00000000..7c57f04a --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_009_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 2000000000000000000000000000000000000000000000000000000000000000000000000 6000000000000000000000000000000000000000000000000000000000000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_012_cont_0_params.json b/TezFinTest/Exponential_Tests/step_012_cont_0_params.json new file mode 100644 index 00000000..5f359ef9 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_012_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "2000000000000000000" }, { "int": "6" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_012_cont_0_params.py b/TezFinTest/Exponential_Tests/step_012_cont_0_params.py new file mode 100644 index 00000000..45f703b4 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_012_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 2000000000000000000), b = 6) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_012_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_012_cont_0_params.tz new file mode 100644 index 00000000..70784d56 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_012_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 2000000000000000000 6) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_016_cont_0_params.json b/TezFinTest/Exponential_Tests/step_016_cont_0_params.json new file mode 100644 index 00000000..b4f7d8a8 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_016_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "6" }, { "int": "2" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_016_cont_0_params.py b/TezFinTest/Exponential_Tests/step_016_cont_0_params.py new file mode 100644 index 00000000..0a674396 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_016_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = 6, b = 2) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_016_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_016_cont_0_params.tz new file mode 100644 index 00000000..6daa206c --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_016_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 6 2) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_019_cont_0_params.json b/TezFinTest/Exponential_Tests/step_019_cont_0_params.json new file mode 100644 index 00000000..cf374399 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_019_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "2" }, { "int": "6" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_019_cont_0_params.py b/TezFinTest/Exponential_Tests/step_019_cont_0_params.py new file mode 100644 index 00000000..b05eadf1 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_019_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = 2, b = 6) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_019_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_019_cont_0_params.tz new file mode 100644 index 00000000..38db1990 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_019_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 2 6) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_021_cont_0_params.json b/TezFinTest/Exponential_Tests/step_021_cont_0_params.json new file mode 100644 index 00000000..7b14c45b --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_021_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "6000000000000000000" }, { "int": "2000000000000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_021_cont_0_params.py b/TezFinTest/Exponential_Tests/step_021_cont_0_params.py new file mode 100644 index 00000000..fd35e4d8 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_021_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 6000000000000000000), b = sp.record(mantissa = 2000000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_021_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_021_cont_0_params.tz new file mode 100644 index 00000000..09a8deef --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_021_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 6000000000000000000 2000000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_025_cont_0_params.json b/TezFinTest/Exponential_Tests/step_025_cont_0_params.json new file mode 100644 index 00000000..184782d3 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_025_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "2000000000000000000" }, { "int": "6000000000000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_025_cont_0_params.py b/TezFinTest/Exponential_Tests/step_025_cont_0_params.py new file mode 100644 index 00000000..e2c731d7 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_025_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 2000000000000000000), b = sp.record(mantissa = 6000000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_025_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_025_cont_0_params.tz new file mode 100644 index 00000000..aee514e0 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_025_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 2000000000000000000 6000000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_028_cont_0_params.json b/TezFinTest/Exponential_Tests/step_028_cont_0_params.json new file mode 100644 index 00000000..ce55536c --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_028_cont_0_params.json @@ -0,0 +1,6 @@ +{ + "prim": "Pair", + "args": [ + { "int": "2000000000000000000000000000000000000000000000000000000000000000000000000" }, { "int": "6000000000000000000000000000000000000000000000000000000000000000000000000" } + ] +} \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_028_cont_0_params.py b/TezFinTest/Exponential_Tests/step_028_cont_0_params.py new file mode 100644 index 00000000..b849dec3 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_028_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 2000000000000000000000000000000000000000000000000000000000000000000000000), b = sp.record(mantissa = 6000000000000000000000000000000000000000000000000000000000000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_028_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_028_cont_0_params.tz new file mode 100644 index 00000000..7c57f04a --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_028_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 2000000000000000000000000000000000000000000000000000000000000000000000000 6000000000000000000000000000000000000000000000000000000000000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_031_cont_0_params.json b/TezFinTest/Exponential_Tests/step_031_cont_0_params.json new file mode 100644 index 00000000..5f359ef9 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_031_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "2000000000000000000" }, { "int": "6" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_031_cont_0_params.py b/TezFinTest/Exponential_Tests/step_031_cont_0_params.py new file mode 100644 index 00000000..45f703b4 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_031_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 2000000000000000000), b = 6) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_031_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_031_cont_0_params.tz new file mode 100644 index 00000000..70784d56 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_031_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 2000000000000000000 6) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_034_cont_0_params.json b/TezFinTest/Exponential_Tests/step_034_cont_0_params.json new file mode 100644 index 00000000..14a4d601 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_034_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "2" }, { "int": "1500000000000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_034_cont_0_params.py b/TezFinTest/Exponential_Tests/step_034_cont_0_params.py new file mode 100644 index 00000000..b8154e06 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_034_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = 2, b = sp.record(mantissa = 1500000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_034_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_034_cont_0_params.tz new file mode 100644 index 00000000..20e6e8ad --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_034_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 2 1500000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_038_cont_0_params.json b/TezFinTest/Exponential_Tests/step_038_cont_0_params.json new file mode 100644 index 00000000..7b14c45b --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_038_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "6000000000000000000" }, { "int": "2000000000000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_038_cont_0_params.py b/TezFinTest/Exponential_Tests/step_038_cont_0_params.py new file mode 100644 index 00000000..fd35e4d8 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_038_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 6000000000000000000), b = sp.record(mantissa = 2000000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_038_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_038_cont_0_params.tz new file mode 100644 index 00000000..09a8deef --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_038_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 6000000000000000000 2000000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_041_cont_0_params.json b/TezFinTest/Exponential_Tests/step_041_cont_0_params.json new file mode 100644 index 00000000..f2cdf869 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_041_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "2000000000000000000" }, { "int": "6000000000000000000000000000000000000000000000000000000000000000000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_041_cont_0_params.py b/TezFinTest/Exponential_Tests/step_041_cont_0_params.py new file mode 100644 index 00000000..8eb488df --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_041_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 2000000000000000000), b = sp.record(mantissa = 6000000000000000000000000000000000000000000000000000000000000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_041_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_041_cont_0_params.tz new file mode 100644 index 00000000..6cd0de3d --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_041_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 2000000000000000000 6000000000000000000000000000000000000000000000000000000000000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_044_cont_0_params.json b/TezFinTest/Exponential_Tests/step_044_cont_0_params.json new file mode 100644 index 00000000..83c077b2 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_044_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "6000000000000000000" }, { "int": "0" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_044_cont_0_params.py b/TezFinTest/Exponential_Tests/step_044_cont_0_params.py new file mode 100644 index 00000000..5479ab49 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_044_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 6000000000000000000), b = sp.record(mantissa = 0)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_044_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_044_cont_0_params.tz new file mode 100644 index 00000000..ca61a747 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_044_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 6000000000000000000 0) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_046_cont_0_params.json b/TezFinTest/Exponential_Tests/step_046_cont_0_params.json new file mode 100644 index 00000000..f3837d28 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_046_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "6000000000000000000" }, { "int": "4" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_046_cont_0_params.py b/TezFinTest/Exponential_Tests/step_046_cont_0_params.py new file mode 100644 index 00000000..e8f1c7e7 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_046_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 6000000000000000000), b = 4) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_046_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_046_cont_0_params.tz new file mode 100644 index 00000000..b204753d --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_046_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 6000000000000000000 4) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_049_cont_0_params.json b/TezFinTest/Exponential_Tests/step_049_cont_0_params.json new file mode 100644 index 00000000..83c077b2 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_049_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "6000000000000000000" }, { "int": "0" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_049_cont_0_params.py b/TezFinTest/Exponential_Tests/step_049_cont_0_params.py new file mode 100644 index 00000000..951ba77c --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_049_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 6000000000000000000), b = 0) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_049_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_049_cont_0_params.tz new file mode 100644 index 00000000..ca61a747 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_049_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 6000000000000000000 0) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_051_cont_0_params.json b/TezFinTest/Exponential_Tests/step_051_cont_0_params.json new file mode 100644 index 00000000..2196e78e --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_051_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "6" }, { "int": "1500000000000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_051_cont_0_params.py b/TezFinTest/Exponential_Tests/step_051_cont_0_params.py new file mode 100644 index 00000000..01f7c203 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_051_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = 6, b = sp.record(mantissa = 1500000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_051_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_051_cont_0_params.tz new file mode 100644 index 00000000..9b98503b --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_051_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 6 1500000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_054_cont_0_params.json b/TezFinTest/Exponential_Tests/step_054_cont_0_params.json new file mode 100644 index 00000000..ac697dbe --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_054_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "6" }, { "int": "0" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_054_cont_0_params.py b/TezFinTest/Exponential_Tests/step_054_cont_0_params.py new file mode 100644 index 00000000..c1653b33 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_054_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = 6, b = sp.record(mantissa = 0)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_054_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_054_cont_0_params.tz new file mode 100644 index 00000000..3ae2bb39 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_054_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 6 0) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_056_cont_0_params.json b/TezFinTest/Exponential_Tests/step_056_cont_0_params.json index 87bd6bcd..f6d21dce 100644 --- a/TezFinTest/Exponential_Tests/step_056_cont_0_params.json +++ b/TezFinTest/Exponential_Tests/step_056_cont_0_params.json @@ -1 +1 @@ -{ "int": "6000000000000000000" } \ No newline at end of file +{ "prim": "Pair", "args": [ { "int": "1" }, { "int": "1500000000000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_056_cont_0_params.py b/TezFinTest/Exponential_Tests/step_056_cont_0_params.py index 8b336d6d..e025c52e 100644 --- a/TezFinTest/Exponential_Tests/step_056_cont_0_params.py +++ b/TezFinTest/Exponential_Tests/step_056_cont_0_params.py @@ -1 +1 @@ -sp.record(a = sp.record(mantissa = 6000000000000000000)) \ No newline at end of file +sp.record(a = 1, b = sp.record(mantissa = 1500000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_056_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_056_cont_0_params.tz index 3723df2c..b54621d8 100644 --- a/TezFinTest/Exponential_Tests/step_056_cont_0_params.tz +++ b/TezFinTest/Exponential_Tests/step_056_cont_0_params.tz @@ -1 +1 @@ -6000000000000000000 \ No newline at end of file +(Pair 1 1500000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_058_cont_0_params.json b/TezFinTest/Exponential_Tests/step_058_cont_0_params.json new file mode 100644 index 00000000..f6d21dce --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_058_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "1" }, { "int": "1500000000000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_058_cont_0_params.py b/TezFinTest/Exponential_Tests/step_058_cont_0_params.py new file mode 100644 index 00000000..e025c52e --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_058_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = 1, b = sp.record(mantissa = 1500000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_058_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_058_cont_0_params.tz new file mode 100644 index 00000000..b54621d8 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_058_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 1 1500000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_061_cont_0_params.json b/TezFinTest/Exponential_Tests/step_061_cont_0_params.json new file mode 100644 index 00000000..95de4ddc --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_061_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "1" }, { "int": "0" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_061_cont_0_params.py b/TezFinTest/Exponential_Tests/step_061_cont_0_params.py new file mode 100644 index 00000000..5aefc8e2 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_061_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = 1, b = sp.record(mantissa = 0)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_061_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_061_cont_0_params.tz new file mode 100644 index 00000000..57ffde83 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_061_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 1 0) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_064_cont_0_params.json b/TezFinTest/Exponential_Tests/step_064_cont_0_params.json new file mode 100644 index 00000000..87bd6bcd --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_064_cont_0_params.json @@ -0,0 +1 @@ +{ "int": "6000000000000000000" } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_064_cont_0_params.py b/TezFinTest/Exponential_Tests/step_064_cont_0_params.py new file mode 100644 index 00000000..8b336d6d --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_064_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 6000000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_064_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_064_cont_0_params.tz new file mode 100644 index 00000000..3723df2c --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_064_cont_0_params.tz @@ -0,0 +1 @@ +6000000000000000000 \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_067_cont_0_params.json b/TezFinTest/Exponential_Tests/step_067_cont_0_params.json new file mode 100644 index 00000000..44cd5df3 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_067_cont_0_params.json @@ -0,0 +1 @@ +{ "int": "6" } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_067_cont_0_params.py b/TezFinTest/Exponential_Tests/step_067_cont_0_params.py new file mode 100644 index 00000000..379c7af1 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_067_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 6)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_067_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_067_cont_0_params.tz new file mode 100644 index 00000000..62f94575 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_067_cont_0_params.tz @@ -0,0 +1 @@ +6 \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_070_cont_0_params.json b/TezFinTest/Exponential_Tests/step_070_cont_0_params.json new file mode 100644 index 00000000..4451a1a4 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_070_cont_0_params.json @@ -0,0 +1 @@ +{ "int": "1500000000000000000" } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_070_cont_0_params.py b/TezFinTest/Exponential_Tests/step_070_cont_0_params.py new file mode 100644 index 00000000..aaaf018e --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_070_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 1500000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_070_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_070_cont_0_params.tz new file mode 100644 index 00000000..dedaf2aa --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_070_cont_0_params.tz @@ -0,0 +1 @@ +1500000000000000000 \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_074_cont_0_params.json b/TezFinTest/Exponential_Tests/step_074_cont_0_params.json new file mode 100644 index 00000000..73fc4a3f --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_074_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "1500000000000000000" }, { "int": "3" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_074_cont_0_params.py b/TezFinTest/Exponential_Tests/step_074_cont_0_params.py new file mode 100644 index 00000000..b7009bae --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_074_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 1500000000000000000), scalar = 3) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_074_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_074_cont_0_params.tz new file mode 100644 index 00000000..1f9101f4 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_074_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 1500000000000000000 3) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_077_cont_0_params.json b/TezFinTest/Exponential_Tests/step_077_cont_0_params.json new file mode 100644 index 00000000..a15dd27b --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_077_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "1500000000000000000" }, { "prim": "Pair", "args": [ { "int": "2" }, { "int": "3" } ] } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_077_cont_0_params.py b/TezFinTest/Exponential_Tests/step_077_cont_0_params.py new file mode 100644 index 00000000..eb0b4426 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_077_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 1500000000000000000), addend = 2, scalar = 3) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_077_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_077_cont_0_params.tz new file mode 100644 index 00000000..b50f8dbe --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_077_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 1500000000000000000 (Pair 2 3)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_081_cont_0_params.json b/TezFinTest/Exponential_Tests/step_081_cont_0_params.json new file mode 100644 index 00000000..184782d3 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_081_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "2000000000000000000" }, { "int": "6000000000000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_081_cont_0_params.py b/TezFinTest/Exponential_Tests/step_081_cont_0_params.py new file mode 100644 index 00000000..e2c731d7 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_081_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 2000000000000000000), b = sp.record(mantissa = 6000000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_081_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_081_cont_0_params.tz new file mode 100644 index 00000000..aee514e0 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_081_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 2000000000000000000 6000000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_084_cont_0_params.json b/TezFinTest/Exponential_Tests/step_084_cont_0_params.json new file mode 100644 index 00000000..f2c49ada --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_084_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "6" }, { "int": "6600000000000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_084_cont_0_params.py b/TezFinTest/Exponential_Tests/step_084_cont_0_params.py new file mode 100644 index 00000000..3a6e9db1 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_084_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 6), b = sp.record(mantissa = 6600000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_084_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_084_cont_0_params.tz new file mode 100644 index 00000000..48e3d7cc --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_084_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 6 6600000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_087_cont_0_params.json b/TezFinTest/Exponential_Tests/step_087_cont_0_params.json new file mode 100644 index 00000000..8c4e18b6 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_087_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "4" }, { "int": "6600000000000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_087_cont_0_params.py b/TezFinTest/Exponential_Tests/step_087_cont_0_params.py new file mode 100644 index 00000000..7a1366fd --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_087_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 4), b = sp.record(mantissa = 6600000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_087_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_087_cont_0_params.tz new file mode 100644 index 00000000..c63fe5f8 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_087_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 4 6600000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_091_cont_0_params.json b/TezFinTest/Exponential_Tests/step_091_cont_0_params.json new file mode 100644 index 00000000..184782d3 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_091_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "2000000000000000000" }, { "int": "6000000000000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_091_cont_0_params.py b/TezFinTest/Exponential_Tests/step_091_cont_0_params.py new file mode 100644 index 00000000..e2c731d7 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_091_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 2000000000000000000), b = sp.record(mantissa = 6000000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_091_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_091_cont_0_params.tz new file mode 100644 index 00000000..aee514e0 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_091_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 2000000000000000000 6000000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_094_cont_0_params.json b/TezFinTest/Exponential_Tests/step_094_cont_0_params.json new file mode 100644 index 00000000..1dc21019 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_094_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "2000000000000000000" }, { "int": "2000000000000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_094_cont_0_params.py b/TezFinTest/Exponential_Tests/step_094_cont_0_params.py new file mode 100644 index 00000000..8619b3de --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_094_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 2000000000000000000), b = sp.record(mantissa = 2000000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_094_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_094_cont_0_params.tz new file mode 100644 index 00000000..3065bf6d --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_094_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 2000000000000000000 2000000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_097_cont_0_params.json b/TezFinTest/Exponential_Tests/step_097_cont_0_params.json new file mode 100644 index 00000000..7b14c45b --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_097_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "6000000000000000000" }, { "int": "2000000000000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_097_cont_0_params.py b/TezFinTest/Exponential_Tests/step_097_cont_0_params.py new file mode 100644 index 00000000..fd35e4d8 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_097_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 6000000000000000000), b = sp.record(mantissa = 2000000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_097_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_097_cont_0_params.tz new file mode 100644 index 00000000..09a8deef --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_097_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 6000000000000000000 2000000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_101_cont_0_params.json b/TezFinTest/Exponential_Tests/step_101_cont_0_params.json new file mode 100644 index 00000000..184782d3 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_101_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "2000000000000000000" }, { "int": "6000000000000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_101_cont_0_params.py b/TezFinTest/Exponential_Tests/step_101_cont_0_params.py new file mode 100644 index 00000000..e2c731d7 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_101_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 2000000000000000000), b = sp.record(mantissa = 6000000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_101_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_101_cont_0_params.tz new file mode 100644 index 00000000..aee514e0 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_101_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 2000000000000000000 6000000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_104_cont_0_params.json b/TezFinTest/Exponential_Tests/step_104_cont_0_params.json new file mode 100644 index 00000000..1dc21019 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_104_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "2000000000000000000" }, { "int": "2000000000000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_104_cont_0_params.py b/TezFinTest/Exponential_Tests/step_104_cont_0_params.py new file mode 100644 index 00000000..8619b3de --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_104_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 2000000000000000000), b = sp.record(mantissa = 2000000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_104_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_104_cont_0_params.tz new file mode 100644 index 00000000..3065bf6d --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_104_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 2000000000000000000 2000000000000000000) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_107_cont_0_params.json b/TezFinTest/Exponential_Tests/step_107_cont_0_params.json new file mode 100644 index 00000000..7b14c45b --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_107_cont_0_params.json @@ -0,0 +1 @@ +{ "prim": "Pair", "args": [ { "int": "6000000000000000000" }, { "int": "2000000000000000000" } ] } \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_107_cont_0_params.py b/TezFinTest/Exponential_Tests/step_107_cont_0_params.py new file mode 100644 index 00000000..fd35e4d8 --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_107_cont_0_params.py @@ -0,0 +1 @@ +sp.record(a = sp.record(mantissa = 6000000000000000000), b = sp.record(mantissa = 2000000000000000000)) \ No newline at end of file diff --git a/TezFinTest/Exponential_Tests/step_107_cont_0_params.tz b/TezFinTest/Exponential_Tests/step_107_cont_0_params.tz new file mode 100644 index 00000000..09a8deef --- /dev/null +++ b/TezFinTest/Exponential_Tests/step_107_cont_0_params.tz @@ -0,0 +1 @@ +(Pair 6000000000000000000 2000000000000000000) \ No newline at end of file diff --git a/TezFinTest/scenario.json b/TezFinTest/scenario.json index f2b936d5..8a35bdb8 100644 --- a/TezFinTest/scenario.json +++ b/TezFinTest/scenario.json @@ -1,201 +1,1640 @@ [ { - "shortname": "SweepTokens_Tests", - "longname": "SweepTokens_Tests", + "shortname": "CToken_Tests", + "longname": "CToken_Tests", "scenario": [ { "action": "flag", "flag": [ "protocol", - "florence" + "lima" ], - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 32)" + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 49))" }, { "action": "html", "inner": "[[TABLEOFCONTENTS]]", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 34)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 51))", "tag": "p" }, { "action": "html", - "inner": "SweepTokens tests", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 35)", + "inner": "CToken tests", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 52))", "tag": "h1" }, + { + "action": "html", + "inner": "Accounts", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 60))", + "tag": "h2" + }, + { + "action": "show", + "compile": false, + "expression": "((Some (\"./contracts/tests/CTokenTest.py\" 61)) list ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") ((Some (\"./contracts/tests/CTokenTest.py\" 56)) account_of_seed \"Bob\") ((Some (\"./contracts/tests/CTokenTest.py\" 58)) account_of_seed \"admin\"))", + "html": true, + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 61))", + "stripStrings": false + }, + { + "action": "html", + "inner": "Contracts", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 64))", + "tag": "h2" + }, + { + "action": "newContract", + "accept_unknown_types": false, + "export": "(template_id ((Some (\"./contracts/tests/CTokenTest.py\" 67)) static_id 0) \nstorage ((Some (\"contracts/tests//utils/ResultViewer.py\" 5)) record (last (None variant \"None\" (None literal (unit)))))\nstorage_type ((record ((last (option \"nat\"))) Variable (Some (\"contracts/tests//utils/ResultViewer.py\" 6))))\nentrypoints ((target True None None None True None (Some (\"contracts/tests//utils/ResultViewer.py\" 9)) (((Some (\"contracts/tests//utils/ResultViewer.py\" 10)) set ((Some (\"contracts/tests//utils/ResultViewer.py\" 10)) attr ((Some (\"contracts/tests//utils/ResultViewer.py\" 10)) storage) \"last\") ((Some (\"contracts/tests//utils/ResultViewer.py\" 10)) variant \"Some\" (None parameter))))) (targetNat True None None None True None (Some (\"contracts/tests//utils/ResultViewer.py\" 17)) (((Some (\"contracts/tests//utils/ResultViewer.py\" 18)) set_type (None parameter) \"nat\") ((Some (\"contracts/tests//utils/ResultViewer.py\" 19)) set ((Some (\"contracts/tests//utils/ResultViewer.py\" 19)) attr ((Some (\"contracts/tests//utils/ResultViewer.py\" 19)) storage) \"last\") ((Some (\"contracts/tests//utils/ResultViewer.py\" 19)) variant \"Some\" (None parameter))))))\nflags ()\nprivates ()\nviews ()\nentrypoints_layout ()\ninitial_metadata ()\nbalance ())", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 67)) static_id 0)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 67))", + "show": true + }, + { + "action": "newContract", + "accept_unknown_types": false, + "export": "(template_id ((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1) \nstorage ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 9)) record (borrow_allowed ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 11)) literal (bool True))) (mint_allowed ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 10)) literal (bool True))) (redeem_allowed ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 12)) literal (bool True))) (repay_borrow_allowed ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 13)) literal (bool True))))\nstorage_type (())\nentrypoints ((acceptGovernance True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 96)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 97)) set_type (None parameter) \"address\"))) (borrowAllowed True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 44)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 45)) set_type (None parameter) (record ((borrowAmount \"nat\") (borrower \"address\") (cToken \"address\")) (Value ((\"cToken\") ((\"borrower\") (\"borrowAmount\")))) (Some (\"contracts/interfaces/ComptrollerInterface.py\" 9)))) ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 46)) verify ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 46)) attr ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 46)) storage) \"borrow_allowed\")))) (disableMarket True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 120)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 121)) set_type (None parameter) \"unit\"))) (enterMarkets True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 18)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 19)) set_type (None parameter) \"unit\"))) (exitMarket True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 22)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 23)) set_type (None parameter) \"unit\"))) (getHypoAccountLiquidity True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 74)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 75)) set_type (None parameter) \"unit\"))) (mintAllowed True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 26)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 27)) set_type (None parameter) (record ((cToken \"address\") (mintAmount \"nat\") (minter \"address\")) (Value ((\"cToken\") ((\"minter\") (\"mintAmount\")))) (Some (\"contracts/interfaces/ComptrollerInterface.py\" 7)))) ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 28)) verify ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 28)) attr ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 28)) storage) \"mint_allowed\")))) (redeemAllowed True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 35)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 36)) set_type (None parameter) (record ((cToken \"address\") (redeemAmount \"nat\") (redeemer \"address\")) (Value ((\"cToken\") ((\"redeemer\") (\"redeemAmount\")))) (Some (\"contracts/interfaces/ComptrollerInterface.py\" 11)))) ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 37)) verify ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 37)) attr ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 37)) storage) \"redeem_allowed\")))) (removeFromLoans True (Some True) None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 92)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 93)) set_type (None parameter) \"address\"))) (repayBorrowAllowed True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 53)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 54)) set_type (None parameter) (record ((borrower \"address\") (cToken \"address\") (payer \"address\") (repayAmount \"nat\")) (Value ((\"cToken\") ((\"payer\") ((\"borrower\") (\"repayAmount\"))))) (Some (\"contracts/interfaces/ComptrollerInterface.py\" 13)))) ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 55)) verify ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 55)) attr ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 55)) storage) \"repay_borrow_allowed\")))) (setBorrowAllowed True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 49)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 50)) set ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 50)) attr ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 50)) storage) \"borrow_allowed\") (None parameter)))) (setBorrowPaused True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 128)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 129)) set_type (None parameter) \"unit\"))) (setCloseFactor True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 104)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 105)) set_type (None parameter) \"unit\"))) (setCollateralFactor True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 108)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 109)) set_type (None parameter) \"unit\"))) (setLiquidationIncentive True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 112)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 113)) set_type (None parameter) \"unit\"))) (setLiquidityPeriodRelevance True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 84)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 85)) set_type (None parameter) \"nat\"))) (setMintAllowed True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 31)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 32)) set ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 32)) attr ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 32)) storage) \"mint_allowed\") (None parameter)))) (setMintPaused True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 124)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 125)) set_type (None parameter) \"unit\"))) (setPendingGovernance True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 88)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 89)) set_type (None parameter) \"address\"))) (setPriceOracleAndTimeDiff True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 100)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 101)) set_type (None parameter) \"unit\"))) (setPricePeriodRelevance True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 80)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 81)) set_type (None parameter) \"nat\"))) (setRedeemAllowed True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 40)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 41)) set ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 41)) attr ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 41)) storage) \"redeem_allowed\") (None parameter)))) (setRepayBorrowAllowed True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 58)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 59)) set ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 59)) attr ((Some (\"contracts/tests/mock/ComptrollerMock.py\" 59)) storage) \"repay_borrow_allowed\") (None parameter)))) (setTransferPaused True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 132)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 133)) set_type (None parameter) \"unit\"))) (supportMarket True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 116)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 117)) set_type (None parameter) \"unit\"))) (transferAllowed True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 62)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 63)) set_type (None parameter) (record ((cToken \"address\") (dst \"address\") (src \"address\") (transferTokens \"nat\")) (Value (((\"cToken\") (\"src\")) ((\"dst\") (\"transferTokens\")))) (Some (\"contracts/interfaces/ComptrollerInterface.py\" 16)))))) (updateAccountLiquidity True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 70)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 71)) set_type (None parameter) \"address\"))) (updateAssetPrice True None None None True None (Some (\"contracts/tests/mock/ComptrollerMock.py\" 66)) (((Some (\"contracts/tests/mock/ComptrollerMock.py\" 67)) set_type (None parameter) \"address\"))))\nflags ()\nprivates ()\nviews ()\nentrypoints_layout ()\ninitial_metadata ()\nbalance ())", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 68))", + "show": true + }, { "action": "newContract", "accept_unknown_types": false, - "export": "(template_id (static_id 0 (\"contracts/tests/mock/FA12Mock.py\" 5)) \nstorage (record (\"contracts/tests/mock/FA12Mock.py\" 5) (balances (type_annotation (big_map (\"contracts/tests/mock/FA12Mock.py\" 5) ) (bigmap (unknown 1) (record ((approvals (map \"address\" \"nat\")) (balance \"nat\")) None)) (\"contracts/tests/mock/FA12Mock.py\" 5))))\nstorage_type (())\nmessages ((approve True None None True (\"contracts/tests/mock/FA12Mock.py\" 23) ((set_type (params (\"contracts/tests/mock/FA12Mock.py\" 23)) (record ((spender \"address\") (value \"nat\")) (Some ((\"spender\") (\"value\")))) (\"contracts/tests/mock/FA12Mock.py\" 24)) (set (getItem (attr (getItem (attr (data) \"balances\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (sender) (\"contracts/tests/mock/FA12Mock.py\" 26)) \"approvals\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 23)) \"spender\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (\"contracts/tests/mock/FA12Mock.py\" 26)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 23)) \"value\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (\"contracts/tests/mock/FA12Mock.py\" 26)))) (getBalance True None None True (\"contracts/tests/mock/FA12Mock.py\" 39) ((bind \"__s1\" ((result (attr (getItem (attr (data) \"balances\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (first (params (\"contracts/tests/mock/FA12Mock.py\" 39)) (\"contracts/tests/SweepTokensTest.py\" 40)) (\"contracts/tests/mock/FA12Mock.py\" 40)) \"balance\" (\"contracts/tests/mock/FA12Mock.py\" 40)) (\"contracts/tests/mock/FA12Mock.py\" 40)))) (set_type (second (params (\"contracts/tests/mock/FA12Mock.py\" 39)) (\"contracts/tests/SweepTokensTest.py\" 40)) (contract \"nat\") (\"contracts/tests/SweepTokensTest.py\" 40)) (set (operations (\"contracts/tests/SweepTokensTest.py\" 40)) (cons (transfer (getLocal \"__s1\" (\"contracts/tests/SweepTokensTest.py\" 40)) (literal (mutez 0) (\"contracts/tests/SweepTokensTest.py\" 40)) (second (params (\"contracts/tests/mock/FA12Mock.py\" 39)) (\"contracts/tests/SweepTokensTest.py\" 40)) (\"contracts/tests/mock/FA12Mock.py\" 39)) (operations (\"contracts/tests/SweepTokensTest.py\" 40)) (\"contracts/tests/SweepTokensTest.py\" 40)) (\"contracts/tests/SweepTokensTest.py\" 40)))) (mint True None None True (\"contracts/tests/mock/FA12Mock.py\" 33) ((set_type (params (\"contracts/tests/mock/FA12Mock.py\" 33)) (record ((address \"address\") (value \"nat\")) None) (\"contracts/tests/mock/FA12Mock.py\" 34)) (ifBlock (not (contains (attr (data) \"balances\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 33)) \"address\" (\"contracts/tests/mock/FA12Mock.py\" 35)) (\"contracts/tests/mock/FA12Mock.py\" 29)) (\"contracts/tests/mock/FA12Mock.py\" 29)) ((set (getItem (attr (data) \"balances\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 33)) \"address\" (\"contracts/tests/mock/FA12Mock.py\" 35)) (\"contracts/tests/mock/FA12Mock.py\" 30)) (record (\"contracts/tests/mock/FA12Mock.py\" 30) (approvals (map (\"contracts/tests/mock/FA12Mock.py\" 30) )) (balance (literal (intOrNat 0) (\"contracts/tests/mock/FA12Mock.py\" 30)))) (\"contracts/tests/mock/FA12Mock.py\" 30))) (\"contracts/tests/mock/FA12Mock.py\" 29)) (set (attr (getItem (attr (data) \"balances\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 33)) \"address\" (\"contracts/tests/mock/FA12Mock.py\" 35)) (\"contracts/tests/mock/FA12Mock.py\" 36)) \"balance\" (\"contracts/tests/mock/FA12Mock.py\" 36)) (add (attr (getItem (attr (data) \"balances\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 33)) \"address\" (\"contracts/tests/mock/FA12Mock.py\" 35)) (\"contracts/tests/mock/FA12Mock.py\" 36)) \"balance\" (\"contracts/tests/mock/FA12Mock.py\" 36)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 33)) \"value\" (\"contracts/tests/mock/FA12Mock.py\" 36)) (\"contracts/tests/mock/FA12Mock.py\" 36)) (\"contracts/tests/mock/FA12Mock.py\" 36)))) (transfer True None None True (\"contracts/tests/mock/FA12Mock.py\" 8) ((set_type (params (\"contracts/tests/mock/FA12Mock.py\" 8)) (record ((from_ \"address\") (to_ \"address\") (value \"nat\")) (Some ((\"from_ as from\") ((\"to_ as to\") (\"value\"))))) (\"contracts/tests/mock/FA12Mock.py\" 9)) (verify (or (eq (attr (params (\"contracts/tests/mock/FA12Mock.py\" 8)) \"from_\" (\"contracts/tests/mock/FA12Mock.py\" 11)) (sender) (\"contracts/tests/mock/FA12Mock.py\" 11)) (ge (getItem (attr (getItem (attr (data) \"balances\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 8)) \"from_\" (\"contracts/tests/mock/FA12Mock.py\" 11)) (\"contracts/tests/mock/FA12Mock.py\" 12)) \"approvals\" (\"contracts/tests/mock/FA12Mock.py\" 12)) (sender) (\"contracts/tests/mock/FA12Mock.py\" 12)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 8)) \"value\" (\"contracts/tests/mock/FA12Mock.py\" 12)) (\"contracts/tests/mock/FA12Mock.py\" 12)) (\"contracts/tests/mock/FA12Mock.py\" 11)) (\"contracts/tests/mock/FA12Mock.py\" 11)) (ifBlock (not (contains (attr (data) \"balances\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 8)) \"to_\" (\"contracts/tests/mock/FA12Mock.py\" 13)) (\"contracts/tests/mock/FA12Mock.py\" 29)) (\"contracts/tests/mock/FA12Mock.py\" 29)) ((set (getItem (attr (data) \"balances\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 8)) \"to_\" (\"contracts/tests/mock/FA12Mock.py\" 13)) (\"contracts/tests/mock/FA12Mock.py\" 30)) (record (\"contracts/tests/mock/FA12Mock.py\" 30) (approvals (map (\"contracts/tests/mock/FA12Mock.py\" 30) )) (balance (literal (intOrNat 0) (\"contracts/tests/mock/FA12Mock.py\" 30)))) (\"contracts/tests/mock/FA12Mock.py\" 30))) (\"contracts/tests/mock/FA12Mock.py\" 29)) (verify (ge (attr (getItem (attr (data) \"balances\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 8)) \"from_\" (\"contracts/tests/mock/FA12Mock.py\" 11)) (\"contracts/tests/mock/FA12Mock.py\" 14)) \"balance\" (\"contracts/tests/mock/FA12Mock.py\" 14)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 8)) \"value\" (\"contracts/tests/mock/FA12Mock.py\" 12)) (\"contracts/tests/mock/FA12Mock.py\" 14)) (\"contracts/tests/mock/FA12Mock.py\" 14)) (set (attr (getItem (attr (data) \"balances\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 8)) \"from_\" (\"contracts/tests/mock/FA12Mock.py\" 11)) (\"contracts/tests/mock/FA12Mock.py\" 15)) \"balance\" (\"contracts/tests/mock/FA12Mock.py\" 15)) (openVariant (isNat (sub (attr (getItem (attr (data) \"balances\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 8)) \"from_\" (\"contracts/tests/mock/FA12Mock.py\" 11)) (\"contracts/tests/mock/FA12Mock.py\" 16)) \"balance\" (\"contracts/tests/mock/FA12Mock.py\" 16)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 8)) \"value\" (\"contracts/tests/mock/FA12Mock.py\" 12)) (\"contracts/tests/mock/FA12Mock.py\" 16)) (\"contracts/tests/mock/FA12Mock.py\" 15)) \"Some\" \"None\" (\"contracts/tests/mock/FA12Mock.py\" 15)) (\"contracts/tests/mock/FA12Mock.py\" 15)) (set (attr (getItem (attr (data) \"balances\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 8)) \"to_\" (\"contracts/tests/mock/FA12Mock.py\" 13)) (\"contracts/tests/mock/FA12Mock.py\" 17)) \"balance\" (\"contracts/tests/mock/FA12Mock.py\" 17)) (add (attr (getItem (attr (data) \"balances\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 8)) \"to_\" (\"contracts/tests/mock/FA12Mock.py\" 13)) (\"contracts/tests/mock/FA12Mock.py\" 17)) \"balance\" (\"contracts/tests/mock/FA12Mock.py\" 17)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 8)) \"value\" (\"contracts/tests/mock/FA12Mock.py\" 12)) (\"contracts/tests/mock/FA12Mock.py\" 17)) (\"contracts/tests/mock/FA12Mock.py\" 17)) (ifBlock (neq (attr (params (\"contracts/tests/mock/FA12Mock.py\" 8)) \"from_\" (\"contracts/tests/mock/FA12Mock.py\" 11)) (sender) (\"contracts/tests/mock/FA12Mock.py\" 18)) ((set (getItem (attr (getItem (attr (data) \"balances\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 8)) \"from_\" (\"contracts/tests/mock/FA12Mock.py\" 11)) (\"contracts/tests/mock/FA12Mock.py\" 19)) \"approvals\" (\"contracts/tests/mock/FA12Mock.py\" 19)) (sender) (\"contracts/tests/mock/FA12Mock.py\" 19)) (openVariant (isNat (sub (getItem (attr (getItem (attr (data) \"balances\" (\"contracts/tests/mock/FA12Mock.py\" 26)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 8)) \"from_\" (\"contracts/tests/mock/FA12Mock.py\" 11)) (\"contracts/tests/mock/FA12Mock.py\" 20)) \"approvals\" (\"contracts/tests/mock/FA12Mock.py\" 20)) (sender) (\"contracts/tests/mock/FA12Mock.py\" 20)) (attr (params (\"contracts/tests/mock/FA12Mock.py\" 8)) \"value\" (\"contracts/tests/mock/FA12Mock.py\" 12)) (\"contracts/tests/mock/FA12Mock.py\" 20)) (\"contracts/tests/mock/FA12Mock.py\" 19)) \"Some\" \"None\" (\"contracts/tests/mock/FA12Mock.py\" 19)) (\"contracts/tests/mock/FA12Mock.py\" 19))) (\"contracts/tests/mock/FA12Mock.py\" 18)))))\nflags ()\nglobals ()\nviews ()\nentry_points_layout ()\ninitial_metadata ()\nbalance ())", - "id": "(static_id 0 (\"contracts/tests/mock/FA12Mock.py\" 5))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 40)", + "export": "(template_id ((Some (\"./contracts/tests/CTokenTest.py\" 70)) static_id 2) \nstorage ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 8)) record (borrowRate ((Some (\"./contracts/tests/CTokenTest.py\" 69)) literal (nat 80000000000))) (supplyRate ((Some (\"./contracts/tests/CTokenTest.py\" 69)) literal (nat 180000000000))))\nstorage_type (())\nentrypoints ((getBorrowRate True None None None True None (Some (\"contracts/tests/mock/InterestRateModelMock.py\" 15)) (((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 16)) set_type (None parameter) (record ((borrows \"nat\") (cash \"nat\") (cb (contract \"nat\")) (reserves \"nat\")) Variable (Some (\"contracts/interfaces/InterestRateModelInterface.py\" 15)))) ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 17)) set ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 17)) operations) ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 17)) cons ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 17)) transfer ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 17)) attr ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 17)) storage) \"borrowRate\") ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 17)) literal (mutez 0)) ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 17)) attr (None parameter) \"cb\")) ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 17)) operations))))) (getSupplyRate True None None None True None (Some (\"contracts/tests/mock/InterestRateModelMock.py\" 20)) (((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 21)) set_type (None parameter) (record ((borrows \"nat\") (cash \"nat\") (cb (contract \"nat\")) (reserves \"nat\")) Variable (Some (\"contracts/interfaces/InterestRateModelInterface.py\" 15)))) ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 22)) set ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 22)) operations) ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 22)) cons ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 22)) transfer ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 22)) attr ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 22)) storage) \"supplyRate\") ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 22)) literal (mutez 0)) ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 22)) attr (None parameter) \"cb\")) ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 22)) operations))))) (setBorrowRate True None None None True None (Some (\"contracts/tests/mock/InterestRateModelMock.py\" 25)) (((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 26)) set_type (None parameter) \"nat\") ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 27)) set ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 27)) attr ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 27)) storage) \"borrowRate\") (None parameter)))) (setSupplyRate True None None None True None (Some (\"contracts/tests/mock/InterestRateModelMock.py\" 30)) (((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 31)) set_type (None parameter) \"nat\") ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 32)) set ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 32)) attr ((Some (\"contracts/tests/mock/InterestRateModelMock.py\" 32)) storage) \"supplyRate\") (None parameter)))))\nflags ()\nprivates ()\nviews ()\nentrypoints_layout ()\ninitial_metadata ()\nbalance ())", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 70)) static_id 2)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 70))", "show": true }, { "action": "newContract", "accept_unknown_types": false, - "export": "(template_id (static_id 1 (\"contracts/tests/SweepTokensTest.py\" 8)) \nstorage (record (\"contracts/tests/SweepTokensTest.py\" 8) (administrator (to_constant (attr (account_of_seed \"admin\" (\"contracts/tests/SweepTokensTest.py\" 29)) \"address\" (\"contracts/tests/SweepTokensTest.py\" 29)) (\"contracts/tests/SweepTokensTest.py\" 29))))\nstorage_type (())\nmessages ((sweepFA12 True None None True (\"contracts/utils/SweepTokens.py\" 33) ((set_type (params (\"contracts/utils/SweepTokens.py\" 33)) (record ((amount \"nat\") (tokenAddress \"address\")) None) (\"contracts/utils/SweepTokens.py\" 34)) (set (operations (\"contracts/utils/TransferTokens.py\" 17)) (cons (transfer (record (\"contracts/utils/TransferTokens.py\" 5) (from_ (self_address)) (to_ (attr (data) \"administrator\" (\"contracts/utils/SweepTokens.py\" 36))) (value (attr (params (\"contracts/utils/SweepTokens.py\" 33)) \"amount\" (\"contracts/utils/SweepTokens.py\" 36)))) (literal (mutez 0) (\"contracts/utils/TransferTokens.py\" 17)) (openVariant (contract \"transfer\" (record ((from_ \"address\") (to_ \"address\") (value \"nat\")) (Some ((\"from_ as from\") ((\"to_ as to\") (\"value\"))))) (attr (params (\"contracts/utils/SweepTokens.py\" 33)) \"tokenAddress\" (\"contracts/utils/SweepTokens.py\" 35)) (\"contracts/utils/TransferTokens.py\" 11)) \"Some\" \"None\" (\"contracts/utils/TransferTokens.py\" 11)) (\"contracts/utils/TransferTokens.py\" 17)) (operations (\"contracts/utils/TransferTokens.py\" 17)) (\"contracts/utils/TransferTokens.py\" 17)) (\"contracts/utils/TransferTokens.py\" 17)))) (sweepFA2 True None None True (\"contracts/utils/SweepTokens.py\" 48) ((set_type (params (\"contracts/utils/SweepTokens.py\" 48)) (record ((amount \"nat\") (id \"nat\") (tokenAddress \"address\")) None) (\"contracts/utils/SweepTokens.py\" 49)) (set (operations (\"contracts/utils/TransferTokens.py\" 42)) (cons (transfer (list (\"contracts/utils/TransferTokens.py\" 42) (record (\"contracts/utils/TransferTokens.py\" 24) (from_ (self_address)) (txs (list (\"contracts/utils/TransferTokens.py\" 24) (record (\"contracts/utils/TransferTokens.py\" 27) (amount (attr (params (\"contracts/utils/SweepTokens.py\" 48)) \"amount\" (\"contracts/utils/SweepTokens.py\" 51))) (to_ (attr (data) \"administrator\" (\"contracts/utils/SweepTokens.py\" 36))) (token_id (attr (params (\"contracts/utils/SweepTokens.py\" 48)) \"id\" (\"contracts/utils/SweepTokens.py\" 50)))))))) (literal (mutez 0) (\"contracts/utils/TransferTokens.py\" 42)) (openVariant (contract \"transfer\" (list (record ((from_ \"address\") (txs (list (record ((amount \"nat\") (to_ \"address\") (token_id \"nat\")) (Some ((\"to_\") ((\"token_id\") (\"amount\")))))))) (Some ((\"from_\") (\"txs\"))))) (attr (params (\"contracts/utils/SweepTokens.py\" 48)) \"tokenAddress\" (\"contracts/utils/SweepTokens.py\" 50)) (\"contracts/utils/TransferTokens.py\" 36)) \"Some\" \"None\" (\"contracts/utils/TransferTokens.py\" 36)) (\"contracts/utils/TransferTokens.py\" 42)) (operations (\"contracts/utils/TransferTokens.py\" 42)) (\"contracts/utils/TransferTokens.py\" 42)) (\"contracts/utils/TransferTokens.py\" 42)))) (sweepMutez True None None True (\"contracts/utils/SweepTokens.py\" 14) ((set_type (params (\"contracts/utils/SweepTokens.py\" 14)) \"bool\" (\"contracts/utils/SweepTokens.py\" 15)) (ifBlock (params (\"contracts/utils/SweepTokens.py\" 14)) ((set (operations (\"contracts/utils/SweepTokens.py\" 19)) (cons (transfer (unit) (balance) (openVariant (contract \"receive\" \"unit\" (attr (data) \"administrator\" (\"contracts/utils/SweepTokens.py\" 36)) (\"contracts/utils/SweepTokens.py\" 18)) \"Some\" \"None\" (\"contracts/utils/SweepTokens.py\" 18)) (\"contracts/utils/SweepTokens.py\" 19)) (operations (\"contracts/utils/SweepTokens.py\" 19)) (\"contracts/utils/SweepTokens.py\" 19)) (\"contracts/utils/SweepTokens.py\" 19))) (\"contracts/utils/SweepTokens.py\" 17)) (elseBlock ((set (operations (\"contracts/utils/SweepTokens.py\" 21)) (cons (transfer (unit) (balance) (openVariant (contract \"\" \"unit\" (attr (data) \"administrator\" (\"contracts/utils/SweepTokens.py\" 36)) (\"contracts/utils/SweepTokens.py\" 21)) \"Some\" \"None\" (\"contracts/utils/SweepTokens.py\" 21)) (\"contracts/utils/SweepTokens.py\" 21)) (operations (\"contracts/utils/SweepTokens.py\" 21)) (\"contracts/utils/SweepTokens.py\" 21)) (\"contracts/utils/SweepTokens.py\" 21)))))) (verifyMutezBalance True None None True (\"contracts/tests/SweepTokensTest.py\" 11) ((verify (eq (first (openVariant (ediv (balance) (literal (mutez 1) (\"contracts/tests/SweepTokensTest.py\" 12)) (\"contracts/tests/SweepTokensTest.py\" 12)) \"Some\" (unit) (\"contracts/tests/SweepTokensTest.py\" 12)) (\"contracts/tests/SweepTokensTest.py\" 12)) (params (\"contracts/tests/SweepTokensTest.py\" 11)) (\"contracts/tests/SweepTokensTest.py\" 12)) (\"contracts/tests/SweepTokensTest.py\" 12)))))\nflags ()\nglobals ()\nviews ()\nentry_points_layout ()\ninitial_metadata ()\nbalance ())", - "id": "(static_id 1 (\"contracts/tests/SweepTokensTest.py\" 8))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 41)", + "export": "(template_id ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3) \nstorage ((Some (\"contracts/utils/Exponential.py\" 21)) record (accBorrowBalance ((Some (\"./contracts/tests/CTokenTest.py\" 16)) literal (nat 0))) (accCTokenBalance ((Some (\"./contracts/tests/CTokenTest.py\" 16)) literal (nat 0))) (accExchangeRateMantissa ((Some (\"./contracts/tests/CTokenTest.py\" 16)) literal (nat 0))) (accrualBlockNumber ((Some (\"contracts/CToken.py\" 47)) literal (nat 0))) (activeOperations ((Some (\"contracts/CToken.py\" 72)) type_annotation ((Some (\"contracts/CToken.py\" 72)) set ) (set \"nat\"))) (administrator ((Some (\"./contracts/tests/CTokenTest.py\" 58)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 58)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 58)) account_of_seed \"admin\") \"address\"))) (borrowIndex ((Some (\"contracts/CToken.py\" 49)) literal (nat 1000000000000000000))) (borrowRateMaxMantissa ((Some (\"contracts/CToken.py\" 34)) literal (nat 800000000000))) (borrowRatePerBlock ((Some (\"contracts/CToken.py\" 55)) literal (nat 0))) (borrows ((Some (\"contracts/CToken.py\" 31)) type_annotation ((Some (\"contracts/CToken.py\" 31)) big_map ) (big_map \"address\" (record ((interestIndex \"nat\") (principal \"nat\")) Variable (Some (\"contracts/interfaces/CTokenInterface.py\" 12)))))) (comptroller ((Some (\"./contracts/tests/CTokenTest.py\" 68)) contract_address ((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1) \"\")) (expScale ((Some (\"contracts/utils/Exponential.py\" 21)) literal (nat 1000000000000000000))) (halfExpScale ((Some (\"contracts/utils/Exponential.py\" 21)) literal (nat 500000000000000000))) (initialExchangeRateMantissa ((Some (\"./contracts/tests/CTokenTest.py\" 73)) literal (nat 1000000000000))) (interestRateModel ((Some (\"./contracts/tests/CTokenTest.py\" 70)) contract_address ((Some (\"./contracts/tests/CTokenTest.py\" 70)) static_id 2) \"\")) (ledger ((Some (\"contracts/CToken.py\" 24)) type_annotation ((Some (\"contracts/CToken.py\" 24)) big_map ) (big_map \"address\" (record ((approvals (map \"address\" \"nat\")) (balance \"nat\")) Variable (Some (\"contracts/CToken.py\" 24)))))) (metadata ((Some (\"./contracts/tests/CTokenTest.py\" 75)) big_map (((Some (\"./contracts/tests/CTokenTest.py\" 93)) literal (string \"\")) ((Some (\"./contracts/tests/CTokenTest.py\" 76)) literal (bytes \"0x74657a6f732d73746f726167653a64617461\"))) (((Some (\"./contracts/tests/CTokenTest.py\" 93)) literal (string \"data\")) ((Some (\"./contracts/tests/CTokenTest.py\" 77)) literal (bytes \"0x7b226e616d65223a20222e2e2e222c20226465736372697074696f6e223a20222e2e2e222c202276657273696f6e223a2022312e302e30222c2022617574686f7273223a205b22657771656e716a77225d2c2022686f6d6570616765223a202268747470733a2f2f736f6d652d776562736974652e636f6d222c2022696e7465726661636573223a205b22545a49502d303037225d2c20226c6963656e7365223a207b226e616d65223a20222e2e2e227d7d\"))))) (pendingAdministrator (None variant \"None\" (None literal (unit)))) (protocolSeizeShareMantissa ((Some (\"contracts/CToken.py\" 45)) literal (nat 100000000000000))) (reserveFactorMantissa ((Some (\"contracts/CToken.py\" 43)) literal (nat 50000000000000000))) (reserveFactorMaxMantissa ((Some (\"contracts/CToken.py\" 36)) literal (nat 1000000000000000000))) (supplyRatePerBlock ((Some (\"contracts/CToken.py\" 57)) literal (nat 0))) (token_metadata ((Some (\"contracts/CToken.py\" 62)) type_annotation ((Some (\"contracts/CToken.py\" 62)) big_map (((Some (\"./contracts/tests/CTokenTest.py\" 93)) literal (intOrNat 0)) ((Some (\"contracts/CToken.py\" 64)) record (token_id ((Some (\"contracts/CToken.py\" 64)) literal (intOrNat 0))) (token_info ((Some (\"contracts/CToken.py\" 64)) map (((Some (\"./contracts/tests/CTokenTest.py\" 93)) literal (string \"name\")) ((Some (\"./contracts/tests/CTokenTest.py\" 88)) literal (bytes \"0x436f6d706f756e6420746f6b656e\"))) (((Some (\"./contracts/tests/CTokenTest.py\" 93)) literal (string \"symbol\")) ((Some (\"./contracts/tests/CTokenTest.py\" 89)) literal (bytes \"0x63546f6b656e\"))) (((Some (\"./contracts/tests/CTokenTest.py\" 93)) literal (string \"decimals\")) ((Some (\"./contracts/tests/CTokenTest.py\" 90)) literal (bytes \"0x78\")))))))) (big_map \"nat\" (record ((token_id \"nat\") (token_info (map \"string\" \"bytes\"))) Variable (Some (\"contracts/CToken.py\" 67)))))) (totalBorrows ((Some (\"contracts/CToken.py\" 51)) literal (nat 0))) (totalReserves ((Some (\"contracts/CToken.py\" 53)) literal (nat 0))) (totalSupply ((Some (\"contracts/CToken.py\" 32)) literal (nat 0))))\nstorage_type (())\nentrypoints ((acceptGovernance True (Some True) None None True None (Some (\"contracts/CToken.py\" 808)) (((Some (\"contracts/CToken.py\" 809)) set_type (None parameter) \"unit\") ((Some (\"contracts/CToken.py\" 810)) verify ((Some (\"contracts/CToken.py\" 810)) eq (None sender) ((Some (\"contracts/CToken.py\" 810)) open_variant ((Some (\"contracts/CToken.py\" 810)) attr ((Some (\"contracts/CToken.py\" 810)) storage) \"pendingAdministrator\") \"Some\" ((Some (\"contracts/CToken.py\" 810)) literal (string \"CT_NOT_SET_PENDING_ADMIN\")))) ((Some (\"contracts/CToken.py\" 810)) literal (string \"CT_NOT_PENDING_ADMIN\"))) ((Some (\"contracts/CToken.py\" 812)) set ((Some (\"contracts/CToken.py\" 812)) attr ((Some (\"contracts/CToken.py\" 812)) storage) \"administrator\") ((Some (\"contracts/CToken.py\" 812)) open_variant ((Some (\"contracts/CToken.py\" 812)) attr ((Some (\"contracts/CToken.py\" 812)) storage) \"pendingAdministrator\") \"Some\" \"None\")) ((Some (\"contracts/CToken.py\" 813)) set ((Some (\"contracts/CToken.py\" 813)) attr ((Some (\"contracts/CToken.py\" 813)) storage) \"pendingAdministrator\") (None variant \"None\" (None literal (unit)))))) (accrueInterest True None None None True None (Some (\"contracts/CToken.py\" 725)) (((Some (\"contracts/CToken.py\" 726)) set_type (None parameter) \"unit\") ((Some (\"contracts/CToken.py\" 728)) if_block ((Some (\"contracts/CToken.py\" 728)) neq (None level) ((Some (\"contracts/CToken.py\" 728)) attr ((Some (\"contracts/CToken.py\" 728)) storage) \"accrualBlockNumber\")) (((Some (\"contracts/CToken.py\" 729)) if_block ((Some (\"contracts/CToken.py\" 729)) eq ((Some (\"contracts/CToken.py\" 729)) attr ((Some (\"contracts/CToken.py\" 729)) storage) \"accrualBlockNumber\") ((Some (\"contracts/CToken.py\" 729)) literal (intOrNat 0))) (((Some (\"contracts/CToken.py\" 730)) set ((Some (\"contracts/CToken.py\" 730)) attr ((Some (\"contracts/CToken.py\" 730)) storage) \"accrualBlockNumber\") (None level)))) (else_block (((Some (\"contracts/utils/OperationProtector.py\" 46)) update_set ((Some (\"contracts/utils/OperationProtector.py\" 46)) attr ((Some (\"contracts/utils/OperationProtector.py\" 46)) storage) \"activeOperations\") ((Some (\"contracts/utils/OperationProtector.py\" 17)) literal (nat 8)) True) ((Some (\"contracts/CToken.py\" 736)) set ((Some (\"contracts/CToken.py\" 736)) operations) ((Some (\"contracts/CToken.py\" 736)) cons ((Some (\"contracts/CToken.py\" 736)) transfer ((Some (\"contracts/CToken.py\" 736)) self \"doAccrueInterest\") ((Some (\"contracts/CToken.py\" 737)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 735)) open_variant ((Some (\"contracts/CToken.py\" 734)) contract \"accrueInterestInternal\" (contract \"nat\") (None self_address)) \"Some\" \"None\")) ((Some (\"contracts/CToken.py\" 736)) operations))))))))) (accrueInterestInternal True (Some True) None None True None (Some (\"contracts/CToken.py\" 740)) (((Some (\"contracts/CToken.py\" 741)) set_type (None parameter) (contract \"nat\")) ((Some (\"contracts/CToken.py\" 952)) verify ((Some (\"contracts/CToken.py\" 952)) eq (None sender) (None self_address)) ((Some (\"contracts/CToken.py\" 952)) literal (string \"CT_INTERNAL_FUNCTION\"))) ((Some (\"contracts/CToken.py\" 749)) set ((Some (\"contracts/CToken.py\" 749)) operations) ((Some (\"contracts/CToken.py\" 749)) cons ((Some (\"contracts/CToken.py\" 749)) transfer ((Some (\"contracts/CToken.py\" 745)) record (borrows ((Some (\"contracts/CToken.py\" 746)) attr ((Some (\"contracts/CToken.py\" 746)) storage) \"totalBorrows\")) (cash ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000)))) (cb (None parameter)) (reserves ((Some (\"contracts/CToken.py\" 747)) attr ((Some (\"contracts/CToken.py\" 747)) storage) \"totalReserves\"))) ((Some (\"contracts/CToken.py\" 749)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 744)) open_variant ((Some (\"contracts/CToken.py\" 743)) contract \"getBorrowRate\" (record ((borrows \"nat\") (cash \"nat\") (cb (contract \"nat\")) (reserves \"nat\")) Variable (Some (\"contracts/interfaces/InterestRateModelInterface.py\" 15))) ((Some (\"contracts/CToken.py\" 743)) attr ((Some (\"contracts/CToken.py\" 743)) storage) \"interestRateModel\")) \"Some\" \"None\")) ((Some (\"contracts/CToken.py\" 749)) operations))))) (addReserves True None None None True None (Some (\"contracts/CToken.py\" 897)) (((Some (\"contracts/CToken.py\" 898)) set_type (None parameter) \"nat\") ((Some (\"contracts/CToken.py\" 955)) verify ((Some (\"contracts/CToken.py\" 955)) neq (None sender) (None self_address)) ((Some (\"contracts/CToken.py\" 955)) literal (string \"CT_INTERNAL_CALL\"))) ((Some (\"contracts/utils/OperationProtector.py\" 40)) verify ((Some (\"contracts/utils/OperationProtector.py\" 40)) eq ((Some (\"contracts/utils/OperationProtector.py\" 40)) size ((Some (\"contracts/utils/OperationProtector.py\" 40)) attr ((Some (\"contracts/utils/OperationProtector.py\" 40)) storage) \"activeOperations\")) ((Some (\"contracts/utils/OperationProtector.py\" 40)) literal (intOrNat 0))) ((Some (\"contracts/utils/OperationProtector.py\" 40)) literal (string \"OP_IN_PROGRESS\"))) ((Some (\"contracts/utils/OperationProtector.py\" 46)) update_set ((Some (\"contracts/utils/OperationProtector.py\" 46)) attr ((Some (\"contracts/utils/OperationProtector.py\" 46)) storage) \"activeOperations\") ((Some (\"contracts/utils/OperationProtector.py\" 20)) literal (nat 11)) True) ((Some (\"contracts/CToken.py\" 901)) set ((Some (\"contracts/CToken.py\" 901)) operations) ((Some (\"contracts/CToken.py\" 901)) cons ((Some (\"contracts/CToken.py\" 901)) transfer (None literal (unit)) ((Some (\"contracts/CToken.py\" 901)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 902)) self \"accrueInterest\")) ((Some (\"contracts/CToken.py\" 901)) operations))) ((Some (\"contracts/CToken.py\" 903)) set ((Some (\"contracts/CToken.py\" 903)) operations) ((Some (\"contracts/CToken.py\" 903)) cons ((Some (\"contracts/CToken.py\" 903)) transfer ((Some (\"contracts/CToken.py\" 903)) record (addAmount (None parameter)) (originalSender (None sender))) (None amount) ((Some (\"contracts/CToken.py\" 904)) self \"addReservesInternal\")) ((Some (\"contracts/CToken.py\" 903)) operations))))) (addReservesInternal True None None None True None (Some (\"contracts/CToken.py\" 907)) (((Some (\"contracts/CToken.py\" 952)) verify ((Some (\"contracts/CToken.py\" 952)) eq (None sender) (None self_address)) ((Some (\"contracts/CToken.py\" 952)) literal (string \"CT_INTERNAL_FUNCTION\"))) ((Some (\"contracts/utils/OperationProtector.py\" 43)) verify ((Some (\"contracts/utils/OperationProtector.py\" 43)) contains ((Some (\"contracts/utils/OperationProtector.py\" 43)) attr ((Some (\"contracts/utils/OperationProtector.py\" 43)) storage) \"activeOperations\") ((Some (\"contracts/utils/OperationProtector.py\" 20)) literal (nat 11))) ((Some (\"contracts/utils/OperationProtector.py\" 43)) literal (string \"OP_NOT_ACTIVE\"))) ((Some (\"contracts/utils/OperationProtector.py\" 49)) update_set ((Some (\"contracts/utils/OperationProtector.py\" 49)) attr ((Some (\"contracts/utils/OperationProtector.py\" 49)) storage) \"activeOperations\") ((Some (\"contracts/utils/OperationProtector.py\" 20)) literal (nat 11)) False) ((Some (\"contracts/CToken.py\" 949)) verify ((Some (\"contracts/CToken.py\" 949)) eq (None level) ((Some (\"contracts/CToken.py\" 949)) attr ((Some (\"contracts/CToken.py\" 949)) storage) \"accrualBlockNumber\")) ((Some (\"contracts/CToken.py\" 949)) literal (string \"CT_INTEREST_OLD\"))) ((Some (\"contracts/CToken.py\" 912)) set ((Some (\"contracts/CToken.py\" 912)) attr ((Some (\"contracts/CToken.py\" 912)) storage) \"totalReserves\") ((Some (\"contracts/CToken.py\" 912)) add ((Some (\"contracts/CToken.py\" 912)) attr ((Some (\"contracts/CToken.py\" 912)) storage) \"totalReserves\") ((Some (\"contracts/CToken.py\" 911)) attr (None parameter) \"addAmount\"))))) (approve True (Some True) None None True None (Some (\"contracts/CToken.py\" 448)) (((Some (\"contracts/CToken.py\" 449)) set_type (None parameter) (record ((spender \"address\") (value \"nat\")) (Value ((\"spender\") (\"value\"))) (Some (\"contracts/CToken.py\" 450)))) ((Some (\"contracts/CToken.py\" 955)) verify ((Some (\"contracts/CToken.py\" 955)) neq (None sender) (None self_address)) ((Some (\"contracts/CToken.py\" 955)) literal (string \"CT_INTERNAL_CALL\"))) ((Some (\"contracts/CToken.py\" 454)) verify ((Some (\"contracts/CToken.py\" 454)) or ((Some (\"contracts/CToken.py\" 454)) contains ((Some (\"contracts/CToken.py\" 454)) attr ((Some (\"contracts/CToken.py\" 454)) get_item ((Some (\"contracts/CToken.py\" 454)) attr ((Some (\"contracts/CToken.py\" 454)) storage) \"ledger\") (None sender)) \"approvals\") ((Some (\"contracts/CToken.py\" 454)) attr (None parameter) \"spender\")) ((Some (\"contracts/CToken.py\" 455)) lt ((Some (\"contracts/CToken.py\" 455)) size ((Some (\"contracts/CToken.py\" 455)) attr ((Some (\"contracts/CToken.py\" 455)) get_item ((Some (\"contracts/CToken.py\" 455)) attr ((Some (\"contracts/CToken.py\" 455)) storage) \"ledger\") (None sender)) \"approvals\")) ((Some (\"contracts/CToken.py\" 455)) literal (intOrNat 1000)))) ((Some (\"contracts/CToken.py\" 454)) literal (string \"FA1.2_MaxApprovalsReached\"))) ((Some (\"contracts/CToken.py\" 459)) verify ((Some (\"contracts/CToken.py\" 459)) or ((Some (\"contracts/CToken.py\" 459)) eq ((Some (\"contracts/CToken.py\" 457)) get_item_default ((Some (\"contracts/CToken.py\" 457)) attr ((Some (\"contracts/CToken.py\" 457)) get_item ((Some (\"contracts/CToken.py\" 457)) attr ((Some (\"contracts/CToken.py\" 457)) storage) \"ledger\") (None sender)) \"approvals\") ((Some (\"contracts/CToken.py\" 454)) attr (None parameter) \"spender\") ((Some (\"contracts/CToken.py\" 457)) literal (intOrNat 0))) ((Some (\"contracts/CToken.py\" 459)) literal (intOrNat 0))) ((Some (\"contracts/CToken.py\" 459)) eq ((Some (\"contracts/CToken.py\" 459)) attr (None parameter) \"value\") ((Some (\"contracts/CToken.py\" 459)) literal (intOrNat 0)))) ((Some (\"contracts/CToken.py\" 459)) literal (string \"FA1.2_UnsafeAllowanceChange\"))) ((Some (\"contracts/CToken.py\" 461)) if_block ((Some (\"contracts/CToken.py\" 461)) eq ((Some (\"contracts/CToken.py\" 459)) attr (None parameter) \"value\") ((Some (\"contracts/CToken.py\" 461)) literal (intOrNat 0))) (((Some (\"contracts/CToken.py\" 462)) del_item ((Some (\"contracts/CToken.py\" 462)) attr ((Some (\"contracts/CToken.py\" 462)) get_item ((Some (\"contracts/CToken.py\" 462)) attr ((Some (\"contracts/CToken.py\" 462)) storage) \"ledger\") (None sender)) \"approvals\") ((Some (\"contracts/CToken.py\" 454)) attr (None parameter) \"spender\")))) (else_block (((Some (\"contracts/CToken.py\" 464)) set ((Some (\"contracts/CToken.py\" 464)) get_item ((Some (\"contracts/CToken.py\" 464)) attr ((Some (\"contracts/CToken.py\" 464)) get_item ((Some (\"contracts/CToken.py\" 464)) attr ((Some (\"contracts/CToken.py\" 464)) storage) \"ledger\") (None sender)) \"approvals\") ((Some (\"contracts/CToken.py\" 454)) attr (None parameter) \"spender\")) ((Some (\"contracts/CToken.py\" 459)) attr (None parameter) \"value\")))))) (borrow True None None None True None (Some (\"contracts/CToken.py\" 198)) (((Some (\"contracts/CToken.py\" 199)) set_type (None parameter) \"nat\") ((Some (\"contracts/CToken.py\" 955)) verify ((Some (\"contracts/CToken.py\" 955)) neq (None sender) (None self_address)) ((Some (\"contracts/CToken.py\" 955)) literal (string \"CT_INTERNAL_CALL\"))) ((Some (\"contracts/CToken.py\" 433)) if_block ((Some (\"contracts/CToken.py\" 433)) not ((Some (\"contracts/CToken.py\" 433)) contains ((Some (\"contracts/CToken.py\" 433)) attr ((Some (\"contracts/CToken.py\" 433)) storage) \"ledger\") (None sender))) (((Some (\"contracts/CToken.py\" 434)) set ((Some (\"contracts/CToken.py\" 434)) get_item ((Some (\"contracts/CToken.py\" 434)) attr ((Some (\"contracts/CToken.py\" 434)) storage) \"ledger\") (None sender)) ((Some (\"contracts/CToken.py\" 434)) record (approvals ((Some (\"contracts/CToken.py\" 434)) map )) (balance ((Some (\"contracts/CToken.py\" 434)) literal (nat 0))))))) ((Some (\"contracts/CToken.py\" 436)) if_block ((Some (\"contracts/CToken.py\" 436)) not ((Some (\"contracts/CToken.py\" 436)) contains ((Some (\"contracts/CToken.py\" 436)) attr ((Some (\"contracts/CToken.py\" 436)) storage) \"borrows\") (None sender))) (((Some (\"contracts/CToken.py\" 437)) set ((Some (\"contracts/CToken.py\" 437)) get_item ((Some (\"contracts/CToken.py\" 437)) attr ((Some (\"contracts/CToken.py\" 437)) storage) \"borrows\") (None sender)) ((Some (\"contracts/CToken.py\" 437)) record (interestIndex ((Some (\"contracts/CToken.py\" 438)) literal (nat 0))) (principal ((Some (\"contracts/CToken.py\" 438)) literal (nat 0))))))) ((Some (\"contracts/CToken.py\" 220)) set ((Some (\"contracts/CToken.py\" 220)) operations) ((Some (\"contracts/CToken.py\" 220)) cons ((Some (\"contracts/CToken.py\" 220)) transfer ((Some (\"contracts/CToken.py\" 218)) record (borrowAmount (None parameter)) (borrower (None sender)) (cToken (None self_address))) ((Some (\"contracts/CToken.py\" 220)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 217)) open_variant ((Some (\"contracts/CToken.py\" 216)) contract \"borrowAllowed\" (record ((borrowAmount \"nat\") (borrower \"address\") (cToken \"address\")) (Value ((\"cToken\") ((\"borrower\") (\"borrowAmount\")))) (Some (\"contracts/interfaces/ComptrollerInterface.py\" 9))) ((Some (\"contracts/CToken.py\" 216)) attr ((Some (\"contracts/CToken.py\" 216)) storage) \"comptroller\")) \"Some\" \"None\")) ((Some (\"contracts/CToken.py\" 220)) operations))) ((Some (\"contracts/CToken.py\" 946)) verify ((Some (\"contracts/CToken.py\" 946)) ge ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) (None parameter)) ((Some (\"contracts/CToken.py\" 946)) literal (string \"CT_INSUFFICIENT_CASH\"))) ((Some (\"contracts/CToken.py\" 949)) verify ((Some (\"contracts/CToken.py\" 949)) eq (None level) ((Some (\"contracts/CToken.py\" 949)) attr ((Some (\"contracts/CToken.py\" 949)) storage) \"accrualBlockNumber\")) ((Some (\"contracts/CToken.py\" 949)) literal (string \"CT_INTEREST_OLD\"))) ((Some (\"contracts/CToken.py\" 625)) define_local \"borrowBalance\" ((Some (\"contracts/CToken.py\" 625)) literal (nat 0)) True) ((Some (\"contracts/CToken.py\" 626)) if_block ((Some (\"contracts/CToken.py\" 626)) contains ((Some (\"contracts/CToken.py\" 626)) attr ((Some (\"contracts/CToken.py\" 626)) storage) \"borrows\") (None sender)) (((Some (\"contracts/CToken.py\" 627)) define_local \"borrowSnapshot\" ((Some (\"contracts/CToken.py\" 628)) get_item ((Some (\"contracts/CToken.py\" 628)) attr ((Some (\"contracts/CToken.py\" 628)) storage) \"borrows\") (None sender)) True) ((Some (\"contracts/CToken.py\" 629)) if_block ((Some (\"contracts/CToken.py\" 629)) gt ((Some (\"contracts/CToken.py\" 629)) attr ((Some (\"contracts/CToken.py\" 629)) var \"borrowSnapshot\") \"principal\") ((Some (\"contracts/CToken.py\" 629)) literal (intOrNat 0))) (((Some (\"contracts/CToken.py\" 631)) set ((Some (\"contracts/CToken.py\" 631)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 631)) div ((Some (\"contracts/CToken.py\" 630)) mul_homo ((Some (\"contracts/CToken.py\" 630)) attr ((Some (\"contracts/CToken.py\" 630)) var \"borrowSnapshot\") \"principal\") ((Some (\"contracts/CToken.py\" 630)) attr ((Some (\"contracts/CToken.py\" 630)) storage) \"borrowIndex\")) ((Some (\"contracts/CToken.py\" 631)) attr ((Some (\"contracts/CToken.py\" 631)) var \"borrowSnapshot\") \"interestIndex\"))))))) ((Some (\"contracts/CToken.py\" 210)) set ((Some (\"contracts/CToken.py\" 210)) attr ((Some (\"contracts/CToken.py\" 210)) get_item ((Some (\"contracts/CToken.py\" 210)) attr ((Some (\"contracts/CToken.py\" 210)) storage) \"borrows\") (None sender)) \"principal\") ((Some (\"contracts/CToken.py\" 208)) add ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") (None parameter))) ((Some (\"contracts/CToken.py\" 211)) set ((Some (\"contracts/CToken.py\" 211)) attr ((Some (\"contracts/CToken.py\" 211)) get_item ((Some (\"contracts/CToken.py\" 211)) attr ((Some (\"contracts/CToken.py\" 211)) storage) \"borrows\") (None sender)) \"interestIndex\") ((Some (\"contracts/CToken.py\" 211)) attr ((Some (\"contracts/CToken.py\" 211)) storage) \"borrowIndex\")) ((Some (\"contracts/CToken.py\" 212)) set ((Some (\"contracts/CToken.py\" 212)) attr ((Some (\"contracts/CToken.py\" 212)) storage) \"totalBorrows\") ((Some (\"contracts/CToken.py\" 212)) add ((Some (\"contracts/CToken.py\" 212)) attr ((Some (\"contracts/CToken.py\" 212)) storage) \"totalBorrows\") (None parameter))))) (borrowBalanceStored True None None None True None (Some (\"contracts/CToken.py\" 606)) ((bind \"__s1\" (((Some (\"contracts/CToken.py\" 607)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter)) \"address\") ((Some (\"contracts/CToken.py\" 625)) define_local \"borrowBalance\" ((Some (\"contracts/CToken.py\" 625)) literal (nat 0)) True) ((Some (\"contracts/CToken.py\" 626)) if_block ((Some (\"contracts/CToken.py\" 626)) contains ((Some (\"contracts/CToken.py\" 626)) attr ((Some (\"contracts/CToken.py\" 626)) storage) \"borrows\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter))) (((Some (\"contracts/CToken.py\" 627)) define_local \"borrowSnapshot\" ((Some (\"contracts/CToken.py\" 628)) get_item ((Some (\"contracts/CToken.py\" 628)) attr ((Some (\"contracts/CToken.py\" 628)) storage) \"borrows\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter))) True) ((Some (\"contracts/CToken.py\" 629)) if_block ((Some (\"contracts/CToken.py\" 629)) gt ((Some (\"contracts/CToken.py\" 629)) attr ((Some (\"contracts/CToken.py\" 629)) var \"borrowSnapshot\") \"principal\") ((Some (\"contracts/CToken.py\" 629)) literal (intOrNat 0))) (((Some (\"contracts/CToken.py\" 631)) set ((Some (\"contracts/CToken.py\" 631)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 631)) div ((Some (\"contracts/CToken.py\" 630)) mul_homo ((Some (\"contracts/CToken.py\" 630)) attr ((Some (\"contracts/CToken.py\" 630)) var \"borrowSnapshot\") \"principal\") ((Some (\"contracts/CToken.py\" 630)) attr ((Some (\"contracts/CToken.py\" 630)) storage) \"borrowIndex\")) ((Some (\"contracts/CToken.py\" 631)) attr ((Some (\"contracts/CToken.py\" 631)) var \"borrowSnapshot\") \"interestIndex\"))))))) ((Some (\"contracts/CToken.py\" 608)) result ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\")))) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 93)) second (None parameter)) (contract \"nat\")) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) set ((Some (\"./contracts/tests/CTokenTest.py\" 93)) operations) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) cons ((Some (\"contracts/CToken.py\" 606)) transfer ((Some (\"./contracts/tests/CTokenTest.py\" 93)) var \"__s1\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) literal (mutez 0)) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) second (None parameter))) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) operations))))) (doAccrueInterest True (Some True) None None True None (Some (\"contracts/CToken.py\" 752)) (((Some (\"contracts/CToken.py\" 753)) set_type (None parameter) \"nat\") ((Some (\"contracts/CToken.py\" 958)) verify ((Some (\"contracts/CToken.py\" 958)) eq (None sender) ((Some (\"contracts/CToken.py\" 958)) attr ((Some (\"contracts/CToken.py\" 958)) storage) \"interestRateModel\")) ((Some (\"contracts/CToken.py\" 958)) literal (string \"CT_SENDER_NOT_IRM\"))) ((Some (\"contracts/utils/OperationProtector.py\" 43)) verify ((Some (\"contracts/utils/OperationProtector.py\" 43)) contains ((Some (\"contracts/utils/OperationProtector.py\" 43)) attr ((Some (\"contracts/utils/OperationProtector.py\" 43)) storage) \"activeOperations\") ((Some (\"contracts/utils/OperationProtector.py\" 17)) literal (nat 8))) ((Some (\"contracts/utils/OperationProtector.py\" 43)) literal (string \"OP_NOT_ACTIVE\"))) ((Some (\"contracts/utils/OperationProtector.py\" 49)) update_set ((Some (\"contracts/utils/OperationProtector.py\" 49)) attr ((Some (\"contracts/utils/OperationProtector.py\" 49)) storage) \"activeOperations\") ((Some (\"contracts/utils/OperationProtector.py\" 17)) literal (nat 8)) False) ((Some (\"contracts/CToken.py\" 756)) verify ((Some (\"contracts/CToken.py\" 756)) le (None parameter) ((Some (\"contracts/CToken.py\" 757)) attr ((Some (\"contracts/CToken.py\" 757)) storage) \"borrowRateMaxMantissa\")) ((Some (\"contracts/CToken.py\" 756)) literal (string \"CT_INVALID_BORROW_RATE\"))) ((Some (\"contracts/utils/Exponential.py\" 34)) set_type (None parameter) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 217)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa (None parameter))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 218)) set_type ((Some (\"contracts/CToken.py\" 759)) open_variant ((Some (\"contracts/CToken.py\" 759)) is_nat ((Some (\"contracts/CToken.py\" 759)) sub (None level) ((Some (\"contracts/CToken.py\" 759)) attr ((Some (\"contracts/CToken.py\" 759)) storage) \"accrualBlockNumber\"))) \"Some\" \"None\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo (None parameter) ((Some (\"contracts/CToken.py\" 759)) open_variant ((Some (\"contracts/CToken.py\" 759)) is_nat ((Some (\"contracts/CToken.py\" 759)) sub (None level) ((Some (\"contracts/CToken.py\" 759)) attr ((Some (\"contracts/CToken.py\" 759)) storage) \"accrualBlockNumber\"))) \"Some\" \"None\")) \"nat\") ((Some (\"contracts/CToken.py\" 761)) define_local \"compute_CToken_761\" ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo (None parameter) ((Some (\"contracts/CToken.py\" 759)) open_variant ((Some (\"contracts/CToken.py\" 759)) is_nat ((Some (\"contracts/CToken.py\" 759)) sub (None level) ((Some (\"contracts/CToken.py\" 759)) attr ((Some (\"contracts/CToken.py\" 759)) storage) \"accrualBlockNumber\"))) \"Some\" \"None\")))) True) ((Some (\"contracts/utils/Exponential.py\" 73)) set_type ((Some (\"contracts/CToken.py\" 761)) var \"compute_CToken_761\") (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 217)) set_type ((Some (\"contracts/CToken.py\" 761)) var \"compute_CToken_761\") (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 218)) set_type ((Some (\"contracts/CToken.py\" 764)) attr ((Some (\"contracts/CToken.py\" 764)) storage) \"totalBorrows\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/utils/Exponential.py\" 219)) attr ((Some (\"contracts/CToken.py\" 761)) var \"compute_CToken_761\") \"mantissa\") ((Some (\"contracts/CToken.py\" 764)) attr ((Some (\"contracts/CToken.py\" 764)) storage) \"totalBorrows\")) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 60)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/utils/Exponential.py\" 219)) attr ((Some (\"contracts/CToken.py\" 761)) var \"compute_CToken_761\") \"mantissa\") ((Some (\"contracts/CToken.py\" 764)) attr ((Some (\"contracts/CToken.py\" 764)) storage) \"totalBorrows\")))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/CToken.py\" 763)) define_local \"compute_CToken_763\" ((Some (\"contracts/utils/Exponential.py\" 61)) div ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/utils/Exponential.py\" 219)) attr ((Some (\"contracts/CToken.py\" 761)) var \"compute_CToken_761\") \"mantissa\") ((Some (\"contracts/CToken.py\" 764)) attr ((Some (\"contracts/CToken.py\" 764)) storage) \"totalBorrows\")) ((Some (\"contracts/utils/Exponential.py\" 61)) attr ((Some (\"contracts/utils/Exponential.py\" 61)) storage) \"expScale\")) True) ((Some (\"contracts/CToken.py\" 765)) set ((Some (\"contracts/CToken.py\" 765)) attr ((Some (\"contracts/CToken.py\" 765)) storage) \"totalBorrows\") ((Some (\"contracts/CToken.py\" 765)) add ((Some (\"contracts/CToken.py\" 763)) var \"compute_CToken_763\") ((Some (\"contracts/CToken.py\" 765)) attr ((Some (\"contracts/CToken.py\" 765)) storage) \"totalBorrows\"))) ((Some (\"contracts/utils/Exponential.py\" 87)) set_type ((Some (\"contracts/CToken.py\" 766)) record (mantissa ((Some (\"contracts/CToken.py\" 766)) attr ((Some (\"contracts/CToken.py\" 766)) storage) \"reserveFactorMantissa\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 88)) set_type ((Some (\"contracts/CToken.py\" 763)) var \"compute_CToken_763\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 89)) set_type ((Some (\"contracts/CToken.py\" 768)) attr ((Some (\"contracts/CToken.py\" 768)) storage) \"totalReserves\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 73)) set_type ((Some (\"contracts/CToken.py\" 766)) record (mantissa ((Some (\"contracts/CToken.py\" 766)) attr ((Some (\"contracts/CToken.py\" 766)) storage) \"reserveFactorMantissa\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 217)) set_type ((Some (\"contracts/CToken.py\" 766)) record (mantissa ((Some (\"contracts/CToken.py\" 766)) attr ((Some (\"contracts/CToken.py\" 766)) storage) \"reserveFactorMantissa\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 218)) set_type ((Some (\"contracts/CToken.py\" 763)) var \"compute_CToken_763\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 766)) attr ((Some (\"contracts/CToken.py\" 766)) storage) \"reserveFactorMantissa\") ((Some (\"contracts/CToken.py\" 763)) var \"compute_CToken_763\")) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 60)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 766)) attr ((Some (\"contracts/CToken.py\" 766)) storage) \"reserveFactorMantissa\") ((Some (\"contracts/CToken.py\" 763)) var \"compute_CToken_763\")))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/CToken.py\" 766)) set ((Some (\"contracts/CToken.py\" 766)) attr ((Some (\"contracts/CToken.py\" 766)) storage) \"totalReserves\") ((Some (\"contracts/utils/Exponential.py\" 90)) add ((Some (\"contracts/utils/Exponential.py\" 61)) div ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 766)) attr ((Some (\"contracts/CToken.py\" 766)) storage) \"reserveFactorMantissa\") ((Some (\"contracts/CToken.py\" 763)) var \"compute_CToken_763\")) ((Some (\"contracts/utils/Exponential.py\" 61)) attr ((Some (\"contracts/utils/Exponential.py\" 61)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 768)) attr ((Some (\"contracts/CToken.py\" 768)) storage) \"totalReserves\"))) ((Some (\"contracts/utils/Exponential.py\" 87)) set_type ((Some (\"contracts/CToken.py\" 761)) var \"compute_CToken_761\") (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 88)) set_type ((Some (\"contracts/CToken.py\" 770)) attr ((Some (\"contracts/CToken.py\" 770)) storage) \"borrowIndex\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 89)) set_type ((Some (\"contracts/CToken.py\" 770)) attr ((Some (\"contracts/CToken.py\" 770)) storage) \"borrowIndex\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 73)) set_type ((Some (\"contracts/CToken.py\" 761)) var \"compute_CToken_761\") (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 217)) set_type ((Some (\"contracts/CToken.py\" 761)) var \"compute_CToken_761\") (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 218)) set_type ((Some (\"contracts/CToken.py\" 770)) attr ((Some (\"contracts/CToken.py\" 770)) storage) \"borrowIndex\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/utils/Exponential.py\" 219)) attr ((Some (\"contracts/CToken.py\" 761)) var \"compute_CToken_761\") \"mantissa\") ((Some (\"contracts/CToken.py\" 770)) attr ((Some (\"contracts/CToken.py\" 770)) storage) \"borrowIndex\")) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 60)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/utils/Exponential.py\" 219)) attr ((Some (\"contracts/CToken.py\" 761)) var \"compute_CToken_761\") \"mantissa\") ((Some (\"contracts/CToken.py\" 770)) attr ((Some (\"contracts/CToken.py\" 770)) storage) \"borrowIndex\")))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/CToken.py\" 769)) set ((Some (\"contracts/CToken.py\" 769)) attr ((Some (\"contracts/CToken.py\" 769)) storage) \"borrowIndex\") ((Some (\"contracts/utils/Exponential.py\" 90)) add ((Some (\"contracts/utils/Exponential.py\" 61)) div ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/utils/Exponential.py\" 219)) attr ((Some (\"contracts/CToken.py\" 761)) var \"compute_CToken_761\") \"mantissa\") ((Some (\"contracts/CToken.py\" 770)) attr ((Some (\"contracts/CToken.py\" 770)) storage) \"borrowIndex\")) ((Some (\"contracts/utils/Exponential.py\" 61)) attr ((Some (\"contracts/utils/Exponential.py\" 61)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 770)) attr ((Some (\"contracts/CToken.py\" 770)) storage) \"borrowIndex\"))) ((Some (\"contracts/CToken.py\" 771)) set ((Some (\"contracts/CToken.py\" 771)) attr ((Some (\"contracts/CToken.py\" 771)) storage) \"accrualBlockNumber\") (None level)))) (exchangeRateStored True None None None True None (Some (\"contracts/CToken.py\" 645)) ((bind \"__s2\" (((Some (\"contracts/CToken.py\" 646)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter)) \"unit\") ((Some (\"contracts/CToken.py\" 668)) define_local \"excRate\" ((Some (\"contracts/CToken.py\" 668)) attr ((Some (\"contracts/CToken.py\" 668)) storage) \"initialExchangeRateMantissa\") True) ((Some (\"contracts/CToken.py\" 669)) if_block ((Some (\"contracts/CToken.py\" 669)) gt ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"contracts/CToken.py\" 669)) storage) \"totalSupply\") ((Some (\"contracts/CToken.py\" 669)) literal (intOrNat 0))) (((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 47)) set_type ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 254)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 255)) set_type ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 256)) verify ((Some (\"contracts/utils/Exponential.py\" 256)) gt ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\") ((Some (\"contracts/utils/Exponential.py\" 256)) literal (intOrNat 0))) ((Some (\"contracts/utils/Exponential.py\" 256)) literal (string \"DIVISION_BY_ZERO\"))) ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\")) \"nat\") ((Some (\"contracts/CToken.py\" 675)) set ((Some (\"contracts/CToken.py\" 675)) var \"excRate\") ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\"))))) ((Some (\"contracts/CToken.py\" 647)) result ((Some (\"contracts/CToken.py\" 676)) var \"excRate\")))) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 93)) second (None parameter)) (contract \"nat\")) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) set ((Some (\"./contracts/tests/CTokenTest.py\" 93)) operations) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) cons ((Some (\"contracts/CToken.py\" 645)) transfer ((Some (\"./contracts/tests/CTokenTest.py\" 93)) var \"__s2\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) literal (mutez 0)) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) second (None parameter))) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) operations))))) (getAccountSnapshot True None None None True None (Some (\"contracts/CToken.py\" 579)) ((bind \"__s3\" (((Some (\"contracts/CToken.py\" 565)) define_local \"compute_CToken_565\" ((Some (\"contracts/CToken.py\" 565)) record (account ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter))) (borrowBalance ((Some (\"contracts/CToken.py\" 568)) literal (nat 0))) (cTokenBalance ((Some (\"contracts/CToken.py\" 567)) literal (nat 0))) (exchangeRateMantissa ((Some (\"contracts/CToken.py\" 569)) literal (nat 0)))) True) ((Some (\"contracts/CToken.py\" 571)) if_block ((Some (\"contracts/CToken.py\" 571)) contains ((Some (\"contracts/CToken.py\" 571)) attr ((Some (\"contracts/CToken.py\" 571)) storage) \"ledger\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter))) (((Some (\"contracts/CToken.py\" 949)) verify ((Some (\"contracts/CToken.py\" 949)) eq (None level) ((Some (\"contracts/CToken.py\" 949)) attr ((Some (\"contracts/CToken.py\" 949)) storage) \"accrualBlockNumber\")) ((Some (\"contracts/CToken.py\" 949)) literal (string \"CT_INTEREST_OLD\"))) ((Some (\"contracts/CToken.py\" 573)) set ((Some (\"contracts/CToken.py\" 573)) attr ((Some (\"contracts/CToken.py\" 565)) var \"compute_CToken_565\") \"cTokenBalance\") ((Some (\"contracts/CToken.py\" 573)) attr ((Some (\"contracts/CToken.py\" 573)) get_item ((Some (\"contracts/CToken.py\" 573)) attr ((Some (\"contracts/CToken.py\" 573)) storage) \"ledger\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter))) \"balance\")) ((Some (\"contracts/CToken.py\" 625)) define_local \"borrowBalance\" ((Some (\"contracts/CToken.py\" 625)) literal (nat 0)) True) ((Some (\"contracts/CToken.py\" 626)) if_block ((Some (\"contracts/CToken.py\" 626)) contains ((Some (\"contracts/CToken.py\" 626)) attr ((Some (\"contracts/CToken.py\" 626)) storage) \"borrows\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter))) (((Some (\"contracts/CToken.py\" 627)) define_local \"borrowSnapshot\" ((Some (\"contracts/CToken.py\" 628)) get_item ((Some (\"contracts/CToken.py\" 628)) attr ((Some (\"contracts/CToken.py\" 628)) storage) \"borrows\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter))) True) ((Some (\"contracts/CToken.py\" 629)) if_block ((Some (\"contracts/CToken.py\" 629)) gt ((Some (\"contracts/CToken.py\" 629)) attr ((Some (\"contracts/CToken.py\" 629)) var \"borrowSnapshot\") \"principal\") ((Some (\"contracts/CToken.py\" 629)) literal (intOrNat 0))) (((Some (\"contracts/CToken.py\" 631)) set ((Some (\"contracts/CToken.py\" 631)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 631)) div ((Some (\"contracts/CToken.py\" 630)) mul_homo ((Some (\"contracts/CToken.py\" 630)) attr ((Some (\"contracts/CToken.py\" 630)) var \"borrowSnapshot\") \"principal\") ((Some (\"contracts/CToken.py\" 630)) attr ((Some (\"contracts/CToken.py\" 630)) storage) \"borrowIndex\")) ((Some (\"contracts/CToken.py\" 631)) attr ((Some (\"contracts/CToken.py\" 631)) var \"borrowSnapshot\") \"interestIndex\"))))))) ((Some (\"contracts/CToken.py\" 574)) set ((Some (\"contracts/CToken.py\" 574)) attr ((Some (\"contracts/CToken.py\" 565)) var \"compute_CToken_565\") \"borrowBalance\") ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\")) ((Some (\"contracts/CToken.py\" 668)) define_local \"excRate\" ((Some (\"contracts/CToken.py\" 668)) attr ((Some (\"contracts/CToken.py\" 668)) storage) \"initialExchangeRateMantissa\") True) ((Some (\"contracts/CToken.py\" 669)) if_block ((Some (\"contracts/CToken.py\" 669)) gt ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"contracts/CToken.py\" 669)) storage) \"totalSupply\") ((Some (\"contracts/CToken.py\" 669)) literal (intOrNat 0))) (((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 47)) set_type ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 254)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 255)) set_type ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 256)) verify ((Some (\"contracts/utils/Exponential.py\" 256)) gt ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\") ((Some (\"contracts/utils/Exponential.py\" 256)) literal (intOrNat 0))) ((Some (\"contracts/utils/Exponential.py\" 256)) literal (string \"DIVISION_BY_ZERO\"))) ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\")) \"nat\") ((Some (\"contracts/CToken.py\" 675)) set ((Some (\"contracts/CToken.py\" 675)) var \"excRate\") ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\"))))) ((Some (\"contracts/CToken.py\" 575)) set ((Some (\"contracts/CToken.py\" 575)) attr ((Some (\"contracts/CToken.py\" 565)) var \"compute_CToken_565\") \"exchangeRateMantissa\") ((Some (\"contracts/CToken.py\" 676)) var \"excRate\")))) ((Some (\"contracts/CToken.py\" 580)) result ((Some (\"contracts/CToken.py\" 565)) var \"compute_CToken_565\")))) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 93)) second (None parameter)) (contract (record ((account \"address\") (borrowBalance \"nat\") (cTokenBalance \"nat\") (exchangeRateMantissa \"nat\")) Variable (Some (\"contracts/interfaces/CTokenInterface.py\" 21))))) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) set ((Some (\"./contracts/tests/CTokenTest.py\" 93)) operations) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) cons ((Some (\"contracts/CToken.py\" 579)) transfer ((Some (\"./contracts/tests/CTokenTest.py\" 93)) var \"__s3\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) literal (mutez 0)) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) second (None parameter))) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) operations))))) (getAllowance True None None None True None (Some (\"contracts/CToken.py\" 546)) ((bind \"__s4\" (((Some (\"contracts/CToken.py\" 547)) define_local \"result\" ((Some (\"contracts/CToken.py\" 547)) literal (intOrNat 0)) True) ((Some (\"contracts/CToken.py\" 548)) if_block ((Some (\"contracts/CToken.py\" 548)) contains ((Some (\"contracts/CToken.py\" 548)) attr ((Some (\"contracts/CToken.py\" 548)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 548)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter)) \"owner\")) (((Some (\"contracts/CToken.py\" 549)) if_block ((Some (\"contracts/CToken.py\" 549)) contains ((Some (\"contracts/CToken.py\" 549)) attr ((Some (\"contracts/CToken.py\" 549)) get_item ((Some (\"contracts/CToken.py\" 549)) attr ((Some (\"contracts/CToken.py\" 549)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 548)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter)) \"owner\")) \"approvals\") ((Some (\"contracts/CToken.py\" 549)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter)) \"spender\")) (((Some (\"contracts/CToken.py\" 550)) set ((Some (\"contracts/CToken.py\" 550)) var \"result\") ((Some (\"contracts/CToken.py\" 550)) get_item ((Some (\"contracts/CToken.py\" 550)) attr ((Some (\"contracts/CToken.py\" 550)) get_item ((Some (\"contracts/CToken.py\" 550)) attr ((Some (\"contracts/CToken.py\" 550)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 548)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter)) \"owner\")) \"approvals\") ((Some (\"contracts/CToken.py\" 549)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter)) \"spender\"))))))) ((Some (\"contracts/CToken.py\" 551)) result ((Some (\"contracts/CToken.py\" 551)) var \"result\")))) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 93)) second (None parameter)) (contract \"nat\")) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) set ((Some (\"./contracts/tests/CTokenTest.py\" 93)) operations) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) cons ((Some (\"contracts/CToken.py\" 546)) transfer ((Some (\"./contracts/tests/CTokenTest.py\" 93)) var \"__s4\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) literal (mutez 0)) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) second (None parameter))) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) operations))))) (getBalance True None None None True None (Some (\"contracts/CToken.py\" 486)) ((bind \"__s5\" (((Some (\"contracts/CToken.py\" 487)) define_local \"result\" ((Some (\"contracts/CToken.py\" 487)) literal (intOrNat 0)) True) ((Some (\"contracts/CToken.py\" 488)) if_block ((Some (\"contracts/CToken.py\" 488)) contains ((Some (\"contracts/CToken.py\" 488)) attr ((Some (\"contracts/CToken.py\" 488)) storage) \"ledger\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter))) (((Some (\"contracts/CToken.py\" 489)) set ((Some (\"contracts/CToken.py\" 489)) var \"result\") ((Some (\"contracts/CToken.py\" 489)) attr ((Some (\"contracts/CToken.py\" 489)) get_item ((Some (\"contracts/CToken.py\" 489)) attr ((Some (\"contracts/CToken.py\" 489)) storage) \"ledger\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter))) \"balance\")))) ((Some (\"contracts/CToken.py\" 490)) result ((Some (\"contracts/CToken.py\" 490)) var \"result\")))) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 93)) second (None parameter)) (contract \"nat\")) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) set ((Some (\"./contracts/tests/CTokenTest.py\" 93)) operations) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) cons ((Some (\"contracts/CToken.py\" 486)) transfer ((Some (\"./contracts/tests/CTokenTest.py\" 93)) var \"__s5\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) literal (mutez 0)) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) second (None parameter))) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) operations))))) (getBalanceOfUnderlying True None None None True None (Some (\"contracts/CToken.py\" 517)) ((bind \"__s6\" (((Some (\"contracts/CToken.py\" 518)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter)) \"address\") ((Some (\"contracts/CToken.py\" 668)) define_local \"excRate\" ((Some (\"contracts/CToken.py\" 668)) attr ((Some (\"contracts/CToken.py\" 668)) storage) \"initialExchangeRateMantissa\") True) ((Some (\"contracts/CToken.py\" 669)) if_block ((Some (\"contracts/CToken.py\" 669)) gt ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"contracts/CToken.py\" 669)) storage) \"totalSupply\") ((Some (\"contracts/CToken.py\" 669)) literal (intOrNat 0))) (((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 47)) set_type ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 254)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 255)) set_type ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 256)) verify ((Some (\"contracts/utils/Exponential.py\" 256)) gt ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\") ((Some (\"contracts/utils/Exponential.py\" 256)) literal (intOrNat 0))) ((Some (\"contracts/utils/Exponential.py\" 256)) literal (string \"DIVISION_BY_ZERO\"))) ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\")) \"nat\") ((Some (\"contracts/CToken.py\" 675)) set ((Some (\"contracts/CToken.py\" 675)) var \"excRate\") ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\"))))) ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 73)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 217)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 218)) set_type ((Some (\"contracts/CToken.py\" 521)) attr ((Some (\"contracts/CToken.py\" 521)) get_item ((Some (\"contracts/CToken.py\" 521)) attr ((Some (\"contracts/CToken.py\" 521)) storage) \"ledger\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter))) \"balance\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") ((Some (\"contracts/CToken.py\" 521)) attr ((Some (\"contracts/CToken.py\" 521)) get_item ((Some (\"contracts/CToken.py\" 521)) attr ((Some (\"contracts/CToken.py\" 521)) storage) \"ledger\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter))) \"balance\")) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 60)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") ((Some (\"contracts/CToken.py\" 521)) attr ((Some (\"contracts/CToken.py\" 521)) get_item ((Some (\"contracts/CToken.py\" 521)) attr ((Some (\"contracts/CToken.py\" 521)) storage) \"ledger\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter))) \"balance\")))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/CToken.py\" 522)) result ((Some (\"contracts/utils/Exponential.py\" 61)) div ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") ((Some (\"contracts/CToken.py\" 521)) attr ((Some (\"contracts/CToken.py\" 521)) get_item ((Some (\"contracts/CToken.py\" 521)) attr ((Some (\"contracts/CToken.py\" 521)) storage) \"ledger\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter))) \"balance\")) ((Some (\"contracts/utils/Exponential.py\" 61)) attr ((Some (\"contracts/utils/Exponential.py\" 61)) storage) \"expScale\"))))) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 93)) second (None parameter)) (contract \"nat\")) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) set ((Some (\"./contracts/tests/CTokenTest.py\" 93)) operations) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) cons ((Some (\"contracts/CToken.py\" 517)) transfer ((Some (\"./contracts/tests/CTokenTest.py\" 93)) var \"__s6\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) literal (mutez 0)) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) second (None parameter))) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) operations))))) (getCash True None None None True None (Some (\"contracts/CToken.py\" 699)) ((bind \"__s7\" (((Some (\"contracts/CToken.py\" 700)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter)) \"unit\") ((Some (\"contracts/CToken.py\" 701)) result ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000)))))) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 93)) second (None parameter)) (contract \"nat\")) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) set ((Some (\"./contracts/tests/CTokenTest.py\" 93)) operations) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) cons ((Some (\"contracts/CToken.py\" 699)) transfer ((Some (\"./contracts/tests/CTokenTest.py\" 93)) var \"__s7\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) literal (mutez 0)) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) second (None parameter))) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) operations))))) (getTotalSupply True None None None True None (Some (\"contracts/CToken.py\" 532)) ((bind \"__s8\" (((Some (\"contracts/CToken.py\" 533)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 93)) first (None parameter)) \"unit\") ((Some (\"contracts/CToken.py\" 534)) result ((Some (\"contracts/CToken.py\" 534)) attr ((Some (\"contracts/CToken.py\" 534)) storage) \"totalSupply\")))) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 93)) second (None parameter)) (contract \"nat\")) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) set ((Some (\"./contracts/tests/CTokenTest.py\" 93)) operations) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) cons ((Some (\"contracts/CToken.py\" 532)) transfer ((Some (\"./contracts/tests/CTokenTest.py\" 93)) var \"__s8\") ((Some (\"./contracts/tests/CTokenTest.py\" 93)) literal (mutez 0)) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) second (None parameter))) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) operations))))) (hardResetOp True (Some True) None None True None (Some (\"contracts/utils/OperationProtector.py\" 56)) (((Some (\"contracts/utils/OperationProtector.py\" 57)) set_type (None parameter) \"unit\") ((Some (\"contracts/CToken.py\" 943)) verify ((Some (\"contracts/CToken.py\" 943)) eq (None sender) ((Some (\"contracts/CToken.py\" 943)) attr ((Some (\"contracts/CToken.py\" 943)) storage) \"administrator\")) ((Some (\"contracts/CToken.py\" 943)) literal (string \"CT_NOT_ADMIN\"))) ((Some (\"contracts/utils/OperationProtector.py\" 59)) set ((Some (\"contracts/utils/OperationProtector.py\" 59)) attr ((Some (\"contracts/utils/OperationProtector.py\" 59)) storage) \"activeOperations\") ((Some (\"contracts/utils/OperationProtector.py\" 59)) set )))) (liquidateBorrow True None None None True None (Some (\"contracts/CToken.py\" 348)) (((Some (\"contracts/CToken.py\" 349)) set_type (None parameter) (record ((borrower \"address\") (cTokenCollateral \"address\") (repayAmount \"nat\")) Variable (Some (\"contracts/interfaces/CTokenInterface.py\" 27)))) ((Some (\"contracts/CToken.py\" 360)) set ((Some (\"contracts/CToken.py\" 360)) operations) ((Some (\"contracts/CToken.py\" 360)) cons ((Some (\"contracts/CToken.py\" 360)) transfer ((Some (\"contracts/CToken.py\" 358)) record (borrower ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"borrower\")) (cTokenBorrowed (None self_address)) (cTokenCollateral ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"cTokenCollateral\")) (liquidator (None sender)) (repayAmount ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"repayAmount\"))) ((Some (\"contracts/CToken.py\" 360)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 357)) open_variant ((Some (\"contracts/CToken.py\" 356)) contract \"liquidateBorrowAllowed\" (record ((borrower \"address\") (cTokenBorrowed \"address\") (cTokenCollateral \"address\") (liquidator \"address\") (repayAmount \"nat\")) Variable (Some (\"contracts/interfaces/ComptrollerInterface.py\" 28))) ((Some (\"contracts/CToken.py\" 356)) attr ((Some (\"contracts/CToken.py\" 356)) storage) \"comptroller\")) \"Some\" \"None\")) ((Some (\"contracts/CToken.py\" 360)) operations))) ((Some (\"contracts/CToken.py\" 363)) verify ((Some (\"contracts/CToken.py\" 363)) neq ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"borrower\") (None sender)) ((Some (\"contracts/CToken.py\" 363)) literal (string \"CT_LIQUIDATE_LIQUIDATOR_IS_BORROWER\"))) ((Some (\"contracts/CToken.py\" 366)) verify ((Some (\"contracts/CToken.py\" 366)) gt ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"repayAmount\") ((Some (\"contracts/CToken.py\" 366)) literal (intOrNat 0))) ((Some (\"contracts/CToken.py\" 366)) literal (string \"CT_LIQUIDATE_CLOSE_AMOUNT_IS_INVALID\"))) ((Some (\"contracts/CToken.py\" 949)) verify ((Some (\"contracts/CToken.py\" 949)) eq (None level) ((Some (\"contracts/CToken.py\" 949)) attr ((Some (\"contracts/CToken.py\" 949)) storage) \"accrualBlockNumber\")) ((Some (\"contracts/CToken.py\" 949)) literal (string \"CT_INTEREST_OLD\"))) ((Some (\"contracts/CToken.py\" 625)) define_local \"borrowBalance\" ((Some (\"contracts/CToken.py\" 625)) literal (nat 0)) True) ((Some (\"contracts/CToken.py\" 626)) if_block ((Some (\"contracts/CToken.py\" 626)) contains ((Some (\"contracts/CToken.py\" 626)) attr ((Some (\"contracts/CToken.py\" 626)) storage) \"borrows\") ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"borrower\")) (((Some (\"contracts/CToken.py\" 627)) define_local \"borrowSnapshot\" ((Some (\"contracts/CToken.py\" 628)) get_item ((Some (\"contracts/CToken.py\" 628)) attr ((Some (\"contracts/CToken.py\" 628)) storage) \"borrows\") ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"borrower\")) True) ((Some (\"contracts/CToken.py\" 629)) if_block ((Some (\"contracts/CToken.py\" 629)) gt ((Some (\"contracts/CToken.py\" 629)) attr ((Some (\"contracts/CToken.py\" 629)) var \"borrowSnapshot\") \"principal\") ((Some (\"contracts/CToken.py\" 629)) literal (intOrNat 0))) (((Some (\"contracts/CToken.py\" 631)) set ((Some (\"contracts/CToken.py\" 631)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 631)) div ((Some (\"contracts/CToken.py\" 630)) mul_homo ((Some (\"contracts/CToken.py\" 630)) attr ((Some (\"contracts/CToken.py\" 630)) var \"borrowSnapshot\") \"principal\") ((Some (\"contracts/CToken.py\" 630)) attr ((Some (\"contracts/CToken.py\" 630)) storage) \"borrowIndex\")) ((Some (\"contracts/CToken.py\" 631)) attr ((Some (\"contracts/CToken.py\" 631)) var \"borrowSnapshot\") \"interestIndex\"))))))) ((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 261)) min ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"repayAmount\")) \"nat\") ((Some (\"contracts/CToken.py\" 263)) set ((Some (\"contracts/CToken.py\" 263)) attr ((Some (\"contracts/CToken.py\" 263)) get_item ((Some (\"contracts/CToken.py\" 263)) attr ((Some (\"contracts/CToken.py\" 263)) storage) \"borrows\") ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"borrower\")) \"principal\") ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 261)) min ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"repayAmount\")))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\")))) ((Some (\"contracts/CToken.py\" 265)) set ((Some (\"contracts/CToken.py\" 265)) attr ((Some (\"contracts/CToken.py\" 265)) get_item ((Some (\"contracts/CToken.py\" 265)) attr ((Some (\"contracts/CToken.py\" 265)) storage) \"borrows\") ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"borrower\")) \"interestIndex\") ((Some (\"contracts/CToken.py\" 265)) attr ((Some (\"contracts/CToken.py\" 265)) storage) \"borrowIndex\")) ((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"contracts/CToken.py\" 267)) attr ((Some (\"contracts/CToken.py\" 267)) storage) \"totalBorrows\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 261)) min ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"repayAmount\")) \"nat\") ((Some (\"contracts/CToken.py\" 266)) set ((Some (\"contracts/CToken.py\" 266)) attr ((Some (\"contracts/CToken.py\" 266)) storage) \"totalBorrows\") ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"contracts/CToken.py\" 267)) attr ((Some (\"contracts/CToken.py\" 267)) storage) \"totalBorrows\") ((Some (\"contracts/CToken.py\" 261)) min ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"repayAmount\")))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\")))) ((Some (\"contracts/CToken.py\" 268)) if_block ((Some (\"contracts/CToken.py\" 268)) eq ((Some (\"contracts/CToken.py\" 268)) attr ((Some (\"contracts/CToken.py\" 268)) get_item ((Some (\"contracts/CToken.py\" 268)) attr ((Some (\"contracts/CToken.py\" 268)) storage) \"borrows\") ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"borrower\")) \"principal\") ((Some (\"contracts/CToken.py\" 268)) literal (intOrNat 0))) (((Some (\"contracts/CToken.py\" 271)) set ((Some (\"contracts/CToken.py\" 271)) operations) ((Some (\"contracts/CToken.py\" 271)) cons ((Some (\"contracts/CToken.py\" 271)) transfer ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"borrower\") ((Some (\"contracts/CToken.py\" 271)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 270)) open_variant ((Some (\"contracts/CToken.py\" 269)) contract \"removeFromLoans\" \"address\" ((Some (\"contracts/CToken.py\" 269)) attr ((Some (\"contracts/CToken.py\" 269)) storage) \"comptroller\")) \"Some\" \"None\")) ((Some (\"contracts/CToken.py\" 271)) operations))))) ((Some (\"contracts/CToken.py\" 379)) verify ((Some (\"contracts/CToken.py\" 379)) ge ((Some (\"contracts/CToken.py\" 377)) open_variant ((Some (\"contracts/CToken.py\" 376)) view \"balanceOf\" ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"borrower\") ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"cTokenCollateral\") \"nat\") \"Some\" ((Some (\"contracts/CToken.py\" 377)) literal (string \"INVALID BALANCE OF VIEW\"))) ((Some (\"contracts/CToken.py\" 374)) open_variant ((Some (\"contracts/CToken.py\" 372)) view \"liquidateCalculateSeizeTokens\" ((Some (\"contracts/CToken.py\" 372)) record (actualRepayAmount ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"repayAmount\")) (cTokenBorrowed (None self_address)) (cTokenCollateral ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"cTokenCollateral\"))) ((Some (\"contracts/CToken.py\" 372)) attr ((Some (\"contracts/CToken.py\" 372)) storage) \"comptroller\") \"nat\") \"Some\" ((Some (\"contracts/CToken.py\" 374)) literal (string \"INVALID LIQUIDATE CALC SEIZE TOKEN VIEW\")))) ((Some (\"contracts/CToken.py\" 379)) literal (string \"LIQUIDATE_SEIZE_TOO_MUCH\"))) ((Some (\"contracts/CToken.py\" 383)) set ((Some (\"contracts/CToken.py\" 383)) operations) ((Some (\"contracts/CToken.py\" 383)) cons ((Some (\"contracts/CToken.py\" 383)) transfer ((Some (\"contracts/CToken.py\" 383)) record (borrower ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"borrower\")) (liquidator (None sender)) (seizeTokens ((Some (\"contracts/CToken.py\" 374)) open_variant ((Some (\"contracts/CToken.py\" 372)) view \"liquidateCalculateSeizeTokens\" ((Some (\"contracts/CToken.py\" 372)) record (actualRepayAmount ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"repayAmount\")) (cTokenBorrowed (None self_address)) (cTokenCollateral ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"cTokenCollateral\"))) ((Some (\"contracts/CToken.py\" 372)) attr ((Some (\"contracts/CToken.py\" 372)) storage) \"comptroller\") \"nat\") \"Some\" ((Some (\"contracts/CToken.py\" 374)) literal (string \"INVALID LIQUIDATE CALC SEIZE TOKEN VIEW\"))))) ((Some (\"contracts/CToken.py\" 384)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 382)) open_variant ((Some (\"contracts/CToken.py\" 381)) contract \"seize\" (record ((borrower \"address\") (liquidator \"address\") (seizeTokens \"nat\")) Variable (Some (\"contracts/interfaces/CTokenInterface.py\" 24))) ((Some (\"contracts/CToken.py\" 351)) attr (None parameter) \"cTokenCollateral\")) \"Some\" \"None\")) ((Some (\"contracts/CToken.py\" 383)) operations))))) (mint True None None None True None (Some (\"contracts/CToken.py\" 87)) (((Some (\"contracts/CToken.py\" 88)) set_type (None parameter) \"nat\") ((Some (\"contracts/CToken.py\" 955)) verify ((Some (\"contracts/CToken.py\" 955)) neq (None sender) (None self_address)) ((Some (\"contracts/CToken.py\" 955)) literal (string \"CT_INTERNAL_CALL\"))) ((Some (\"contracts/CToken.py\" 433)) if_block ((Some (\"contracts/CToken.py\" 433)) not ((Some (\"contracts/CToken.py\" 433)) contains ((Some (\"contracts/CToken.py\" 433)) attr ((Some (\"contracts/CToken.py\" 433)) storage) \"ledger\") (None sender))) (((Some (\"contracts/CToken.py\" 434)) set ((Some (\"contracts/CToken.py\" 434)) get_item ((Some (\"contracts/CToken.py\" 434)) attr ((Some (\"contracts/CToken.py\" 434)) storage) \"ledger\") (None sender)) ((Some (\"contracts/CToken.py\" 434)) record (approvals ((Some (\"contracts/CToken.py\" 434)) map )) (balance ((Some (\"contracts/CToken.py\" 434)) literal (nat 0))))))) ((Some (\"contracts/CToken.py\" 436)) if_block ((Some (\"contracts/CToken.py\" 436)) not ((Some (\"contracts/CToken.py\" 436)) contains ((Some (\"contracts/CToken.py\" 436)) attr ((Some (\"contracts/CToken.py\" 436)) storage) \"borrows\") (None sender))) (((Some (\"contracts/CToken.py\" 437)) set ((Some (\"contracts/CToken.py\" 437)) get_item ((Some (\"contracts/CToken.py\" 437)) attr ((Some (\"contracts/CToken.py\" 437)) storage) \"borrows\") (None sender)) ((Some (\"contracts/CToken.py\" 437)) record (interestIndex ((Some (\"contracts/CToken.py\" 438)) literal (nat 0))) (principal ((Some (\"contracts/CToken.py\" 438)) literal (nat 0))))))) ((Some (\"contracts/CToken.py\" 107)) set ((Some (\"contracts/CToken.py\" 107)) operations) ((Some (\"contracts/CToken.py\" 107)) cons ((Some (\"contracts/CToken.py\" 107)) transfer ((Some (\"contracts/CToken.py\" 105)) record (cToken (None self_address)) (mintAmount (None parameter)) (minter (None sender))) ((Some (\"contracts/CToken.py\" 107)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 104)) open_variant ((Some (\"contracts/CToken.py\" 103)) contract \"mintAllowed\" (record ((cToken \"address\") (mintAmount \"nat\") (minter \"address\")) (Value ((\"cToken\") ((\"minter\") (\"mintAmount\")))) (Some (\"contracts/interfaces/ComptrollerInterface.py\" 7))) ((Some (\"contracts/CToken.py\" 103)) attr ((Some (\"contracts/CToken.py\" 103)) storage) \"comptroller\")) \"Some\" \"None\")) ((Some (\"contracts/CToken.py\" 107)) operations))) ((Some (\"contracts/CToken.py\" 949)) verify ((Some (\"contracts/CToken.py\" 949)) eq (None level) ((Some (\"contracts/CToken.py\" 949)) attr ((Some (\"contracts/CToken.py\" 949)) storage) \"accrualBlockNumber\")) ((Some (\"contracts/CToken.py\" 949)) literal (string \"CT_INTEREST_OLD\"))) ((Some (\"contracts/CToken.py\" 668)) define_local \"excRate\" ((Some (\"contracts/CToken.py\" 668)) attr ((Some (\"contracts/CToken.py\" 668)) storage) \"initialExchangeRateMantissa\") True) ((Some (\"contracts/CToken.py\" 669)) if_block ((Some (\"contracts/CToken.py\" 669)) gt ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"contracts/CToken.py\" 669)) storage) \"totalSupply\") ((Some (\"contracts/CToken.py\" 669)) literal (intOrNat 0))) (((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 110)) literal (nat 0)) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 47)) set_type ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 110)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 110)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 254)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 110)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 255)) set_type ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 256)) verify ((Some (\"contracts/utils/Exponential.py\" 256)) gt ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\") ((Some (\"contracts/utils/Exponential.py\" 256)) literal (intOrNat 0))) ((Some (\"contracts/utils/Exponential.py\" 256)) literal (string \"DIVISION_BY_ZERO\"))) ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 110)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\")) \"nat\") ((Some (\"contracts/CToken.py\" 675)) set ((Some (\"contracts/CToken.py\" 675)) var \"excRate\") ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 110)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\"))))) ((Some (\"contracts/CToken.py\" 963)) define_local \"amount\" ((Some (\"contracts/CToken.py\" 963)) literal (nat 0)) True) ((Some (\"contracts/CToken.py\" 964)) if_block ((Some (\"contracts/CToken.py\" 964)) literal (bool True)) (((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 267)) set_type (None parameter) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 268)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 269)) verify ((Some (\"contracts/utils/Exponential.py\" 269)) gt ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") ((Some (\"contracts/utils/Exponential.py\" 269)) literal (intOrNat 0))) ((Some (\"contracts/utils/Exponential.py\" 269)) literal (string \"DIVISION_BY_ZERO\"))) ((Some (\"contracts/CToken.py\" 965)) define_local \"compute_CToken_965\" ((Some (\"contracts/utils/Exponential.py\" 270)) div ((Some (\"contracts/utils/Exponential.py\" 270)) mul_homo (None parameter) ((Some (\"contracts/utils/Exponential.py\" 270)) attr ((Some (\"contracts/utils/Exponential.py\" 270)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 676)) var \"excRate\")) True) ((Some (\"contracts/CToken.py\" 965)) set ((Some (\"contracts/CToken.py\" 965)) var \"amount\") ((Some (\"contracts/CToken.py\" 965)) var \"compute_CToken_965\")))) (else_block (((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 73)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 217)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 218)) set_type (None parameter) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") (None parameter)) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 60)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") (None parameter)))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/CToken.py\" 968)) define_local \"compute_CToken_968\" ((Some (\"contracts/utils/Exponential.py\" 61)) div ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") (None parameter)) ((Some (\"contracts/utils/Exponential.py\" 61)) attr ((Some (\"contracts/utils/Exponential.py\" 61)) storage) \"expScale\")) True) ((Some (\"contracts/CToken.py\" 968)) set ((Some (\"contracts/CToken.py\" 968)) var \"amount\") ((Some (\"contracts/CToken.py\" 968)) var \"compute_CToken_968\")))) ((Some (\"contracts/CToken.py\" 97)) verify ((Some (\"contracts/CToken.py\" 97)) gt ((Some (\"contracts/CToken.py\" 970)) var \"amount\") ((Some (\"contracts/CToken.py\" 97)) literal (intOrNat 0))) ((Some (\"contracts/CToken.py\" 97)) literal (string \"CT_MINT_AMOUNT_IS_INVALID\"))) ((Some (\"contracts/CToken.py\" 98)) set ((Some (\"contracts/CToken.py\" 98)) attr ((Some (\"contracts/CToken.py\" 98)) storage) \"totalSupply\") ((Some (\"contracts/CToken.py\" 98)) add ((Some (\"contracts/CToken.py\" 98)) attr ((Some (\"contracts/CToken.py\" 98)) storage) \"totalSupply\") ((Some (\"contracts/CToken.py\" 970)) var \"amount\"))) ((Some (\"contracts/CToken.py\" 99)) set ((Some (\"contracts/CToken.py\" 99)) attr ((Some (\"contracts/CToken.py\" 99)) get_item ((Some (\"contracts/CToken.py\" 99)) attr ((Some (\"contracts/CToken.py\" 99)) storage) \"ledger\") (None sender)) \"balance\") ((Some (\"contracts/CToken.py\" 99)) add ((Some (\"contracts/CToken.py\" 99)) attr ((Some (\"contracts/CToken.py\" 99)) get_item ((Some (\"contracts/CToken.py\" 99)) attr ((Some (\"contracts/CToken.py\" 99)) storage) \"ledger\") (None sender)) \"balance\") ((Some (\"contracts/CToken.py\" 970)) var \"amount\"))))) (redeem True None None None True None (Some (\"contracts/CToken.py\" 130)) (((Some (\"contracts/CToken.py\" 131)) set_type (None parameter) \"nat\") ((Some (\"contracts/CToken.py\" 955)) verify ((Some (\"contracts/CToken.py\" 955)) neq (None sender) (None self_address)) ((Some (\"contracts/CToken.py\" 955)) literal (string \"CT_INTERNAL_CALL\"))) ((Some (\"contracts/CToken.py\" 180)) set ((Some (\"contracts/CToken.py\" 180)) operations) ((Some (\"contracts/CToken.py\" 180)) cons ((Some (\"contracts/CToken.py\" 180)) transfer ((Some (\"contracts/CToken.py\" 178)) record (cToken (None self_address)) (redeemAmount (None parameter)) (redeemer (None sender))) ((Some (\"contracts/CToken.py\" 180)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 177)) open_variant ((Some (\"contracts/CToken.py\" 176)) contract \"redeemAllowed\" (record ((cToken \"address\") (redeemAmount \"nat\") (redeemer \"address\")) (Value ((\"cToken\") ((\"redeemer\") (\"redeemAmount\")))) (Some (\"contracts/interfaces/ComptrollerInterface.py\" 11))) ((Some (\"contracts/CToken.py\" 176)) attr ((Some (\"contracts/CToken.py\" 176)) storage) \"comptroller\")) \"Some\" \"None\")) ((Some (\"contracts/CToken.py\" 180)) operations))) ((Some (\"contracts/CToken.py\" 984)) define_local \"redeem_amount\" ((Some (\"contracts/CToken.py\" 984)) literal (nat 0)) True) ((Some (\"contracts/CToken.py\" 985)) if_block ((Some (\"contracts/CToken.py\" 134)) literal (bool False)) (((Some (\"contracts/CToken.py\" 986)) set ((Some (\"contracts/CToken.py\" 986)) var \"redeem_amount\") (None parameter)))) (else_block (((Some (\"contracts/CToken.py\" 668)) define_local \"excRate\" ((Some (\"contracts/CToken.py\" 668)) attr ((Some (\"contracts/CToken.py\" 668)) storage) \"initialExchangeRateMantissa\") True) ((Some (\"contracts/CToken.py\" 669)) if_block ((Some (\"contracts/CToken.py\" 669)) gt ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"contracts/CToken.py\" 669)) storage) \"totalSupply\") ((Some (\"contracts/CToken.py\" 669)) literal (intOrNat 0))) (((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 989)) literal (nat 0)) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 47)) set_type ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 989)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 989)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 254)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 989)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 255)) set_type ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 256)) verify ((Some (\"contracts/utils/Exponential.py\" 256)) gt ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\") ((Some (\"contracts/utils/Exponential.py\" 256)) literal (intOrNat 0))) ((Some (\"contracts/utils/Exponential.py\" 256)) literal (string \"DIVISION_BY_ZERO\"))) ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 989)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\")) \"nat\") ((Some (\"contracts/CToken.py\" 675)) set ((Some (\"contracts/CToken.py\" 675)) var \"excRate\") ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 989)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\"))))) ((Some (\"contracts/CToken.py\" 963)) define_local \"amount\" ((Some (\"contracts/CToken.py\" 963)) literal (nat 0)) True) ((Some (\"contracts/CToken.py\" 964)) if_block ((Some (\"contracts/CToken.py\" 964)) literal (bool False)) (((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 267)) set_type (None parameter) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 268)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 269)) verify ((Some (\"contracts/utils/Exponential.py\" 269)) gt ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") ((Some (\"contracts/utils/Exponential.py\" 269)) literal (intOrNat 0))) ((Some (\"contracts/utils/Exponential.py\" 269)) literal (string \"DIVISION_BY_ZERO\"))) ((Some (\"contracts/CToken.py\" 965)) define_local \"compute_CToken_965\" ((Some (\"contracts/utils/Exponential.py\" 270)) div ((Some (\"contracts/utils/Exponential.py\" 270)) mul_homo (None parameter) ((Some (\"contracts/utils/Exponential.py\" 270)) attr ((Some (\"contracts/utils/Exponential.py\" 270)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 676)) var \"excRate\")) True) ((Some (\"contracts/CToken.py\" 965)) set ((Some (\"contracts/CToken.py\" 965)) var \"amount\") ((Some (\"contracts/CToken.py\" 965)) var \"compute_CToken_965\")))) (else_block (((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 73)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 217)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 218)) set_type (None parameter) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") (None parameter)) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 60)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") (None parameter)))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/CToken.py\" 968)) define_local \"compute_CToken_968\" ((Some (\"contracts/utils/Exponential.py\" 61)) div ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") (None parameter)) ((Some (\"contracts/utils/Exponential.py\" 61)) attr ((Some (\"contracts/utils/Exponential.py\" 61)) storage) \"expScale\")) True) ((Some (\"contracts/CToken.py\" 968)) set ((Some (\"contracts/CToken.py\" 968)) var \"amount\") ((Some (\"contracts/CToken.py\" 968)) var \"compute_CToken_968\")))) ((Some (\"contracts/CToken.py\" 988)) set ((Some (\"contracts/CToken.py\" 988)) var \"redeem_amount\") ((Some (\"contracts/CToken.py\" 970)) var \"amount\")))) ((Some (\"contracts/CToken.py\" 993)) define_local \"redeem_tokens\" ((Some (\"contracts/CToken.py\" 993)) literal (nat 0)) True) ((Some (\"contracts/CToken.py\" 994)) if_block ((Some (\"contracts/CToken.py\" 134)) literal (bool False)) (((Some (\"contracts/CToken.py\" 668)) define_local \"excRate\" ((Some (\"contracts/CToken.py\" 668)) attr ((Some (\"contracts/CToken.py\" 668)) storage) \"initialExchangeRateMantissa\") True) ((Some (\"contracts/CToken.py\" 669)) if_block ((Some (\"contracts/CToken.py\" 669)) gt ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"contracts/CToken.py\" 669)) storage) \"totalSupply\") ((Some (\"contracts/CToken.py\" 669)) literal (intOrNat 0))) (((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 995)) literal (nat 0)) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 47)) set_type ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 995)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 995)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 254)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 995)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 255)) set_type ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 256)) verify ((Some (\"contracts/utils/Exponential.py\" 256)) gt ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\") ((Some (\"contracts/utils/Exponential.py\" 256)) literal (intOrNat 0))) ((Some (\"contracts/utils/Exponential.py\" 256)) literal (string \"DIVISION_BY_ZERO\"))) ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 995)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\")) \"nat\") ((Some (\"contracts/CToken.py\" 675)) set ((Some (\"contracts/CToken.py\" 675)) var \"excRate\") ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 995)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\"))))) ((Some (\"contracts/CToken.py\" 974)) define_local \"amount\" ((Some (\"contracts/CToken.py\" 974)) literal (nat 0)) True) ((Some (\"contracts/CToken.py\" 975)) if_block ((Some (\"contracts/CToken.py\" 975)) literal (bool True)) (((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 273)) set_type (None parameter) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 274)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 275)) verify ((Some (\"contracts/utils/Exponential.py\" 275)) gt ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") ((Some (\"contracts/utils/Exponential.py\" 275)) literal (intOrNat 0))) ((Some (\"contracts/utils/Exponential.py\" 275)) literal (string \"DIVISION_BY_ZERO\"))) ((Some (\"contracts/utils/Exponential.py\" 277)) define_local \"compute_Exponential_277\" ((Some (\"contracts/utils/Exponential.py\" 277)) mul_homo (None parameter) ((Some (\"contracts/utils/Exponential.py\" 277)) attr ((Some (\"contracts/utils/Exponential.py\" 277)) storage) \"expScale\")) True) ((Some (\"contracts/utils/Exponential.py\" 280)) define_local \"compute_Exponential_280\" ((Some (\"contracts/utils/Exponential.py\" 280)) div ((Some (\"contracts/utils/Exponential.py\" 277)) var \"compute_Exponential_277\") ((Some (\"contracts/CToken.py\" 676)) var \"excRate\")) True) ((Some (\"contracts/utils/Exponential.py\" 281)) if_block ((Some (\"contracts/utils/Exponential.py\" 281)) gt ((Some (\"contracts/utils/Exponential.py\" 281)) mod ((Some (\"contracts/utils/Exponential.py\" 277)) var \"compute_Exponential_277\") ((Some (\"contracts/CToken.py\" 676)) var \"excRate\")) ((Some (\"contracts/utils/Exponential.py\" 281)) literal (intOrNat 0))) ()) ((Some (\"contracts/CToken.py\" 976)) define_local \"compute_CToken_976\" ((Some (\"contracts/utils/Exponential.py\" 282)) add ((Some (\"contracts/utils/Exponential.py\" 280)) var \"compute_Exponential_280\") ((Some (\"contracts/utils/Exponential.py\" 282)) literal (intOrNat 1))) True) ((Some (\"contracts/CToken.py\" 976)) set ((Some (\"contracts/CToken.py\" 976)) var \"amount\") ((Some (\"contracts/CToken.py\" 976)) var \"compute_CToken_976\")))) (else_block (((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 73)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 217)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 218)) set_type (None parameter) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") (None parameter)) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 60)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") (None parameter)))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/CToken.py\" 979)) define_local \"compute_CToken_979\" ((Some (\"contracts/utils/Exponential.py\" 61)) div ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") (None parameter)) ((Some (\"contracts/utils/Exponential.py\" 61)) attr ((Some (\"contracts/utils/Exponential.py\" 61)) storage) \"expScale\")) True) ((Some (\"contracts/CToken.py\" 979)) set ((Some (\"contracts/CToken.py\" 979)) var \"amount\") ((Some (\"contracts/CToken.py\" 979)) var \"compute_CToken_979\")))) ((Some (\"contracts/CToken.py\" 995)) set ((Some (\"contracts/CToken.py\" 995)) var \"redeem_tokens\") ((Some (\"contracts/CToken.py\" 981)) var \"amount\")))) (else_block (((Some (\"contracts/CToken.py\" 997)) set ((Some (\"contracts/CToken.py\" 997)) var \"redeem_tokens\") (None parameter)))) ((Some (\"contracts/CToken.py\" 166)) if_block ((Some (\"contracts/CToken.py\" 166)) and ((Some (\"contracts/CToken.py\" 166)) gt ((Some (\"contracts/CToken.py\" 990)) var \"redeem_amount\") ((Some (\"contracts/CToken.py\" 166)) literal (intOrNat 0))) ((Some (\"contracts/CToken.py\" 166)) gt ((Some (\"contracts/CToken.py\" 998)) var \"redeem_tokens\") ((Some (\"contracts/CToken.py\" 166)) literal (intOrNat 0)))) (((Some (\"contracts/CToken.py\" 946)) verify ((Some (\"contracts/CToken.py\" 946)) ge ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 990)) var \"redeem_amount\")) ((Some (\"contracts/CToken.py\" 946)) literal (string \"CT_INSUFFICIENT_CASH\"))) ((Some (\"contracts/CToken.py\" 949)) verify ((Some (\"contracts/CToken.py\" 949)) eq (None level) ((Some (\"contracts/CToken.py\" 949)) attr ((Some (\"contracts/CToken.py\" 949)) storage) \"accrualBlockNumber\")) ((Some (\"contracts/CToken.py\" 949)) literal (string \"CT_INTEREST_OLD\"))) ((Some (\"contracts/CToken.py\" 169)) set ((Some (\"contracts/CToken.py\" 169)) attr ((Some (\"contracts/CToken.py\" 169)) storage) \"totalSupply\") ((Some (\"contracts/CToken.py\" 169)) open_variant ((Some (\"contracts/CToken.py\" 169)) is_nat ((Some (\"contracts/CToken.py\" 170)) sub ((Some (\"contracts/CToken.py\" 170)) attr ((Some (\"contracts/CToken.py\" 170)) storage) \"totalSupply\") ((Some (\"contracts/CToken.py\" 998)) var \"redeem_tokens\"))) \"Some\" ((Some (\"contracts/CToken.py\" 169)) literal (string \"Insufficient supply\")))) ((Some (\"contracts/CToken.py\" 171)) set ((Some (\"contracts/CToken.py\" 171)) attr ((Some (\"contracts/CToken.py\" 171)) get_item ((Some (\"contracts/CToken.py\" 171)) attr ((Some (\"contracts/CToken.py\" 171)) storage) \"ledger\") (None sender)) \"balance\") ((Some (\"contracts/CToken.py\" 171)) open_variant ((Some (\"contracts/CToken.py\" 171)) is_nat ((Some (\"contracts/CToken.py\" 172)) sub ((Some (\"contracts/CToken.py\" 172)) attr ((Some (\"contracts/CToken.py\" 172)) get_item ((Some (\"contracts/CToken.py\" 172)) attr ((Some (\"contracts/CToken.py\" 172)) storage) \"ledger\") (None sender)) \"balance\") ((Some (\"contracts/CToken.py\" 998)) var \"redeem_tokens\"))) \"Some\" ((Some (\"contracts/CToken.py\" 171)) literal (string \"Insufficient balance\")))))))) (redeemUnderlying True None None None True None (Some (\"contracts/CToken.py\" 152)) (((Some (\"contracts/CToken.py\" 153)) set_type (None parameter) \"nat\") ((Some (\"contracts/CToken.py\" 955)) verify ((Some (\"contracts/CToken.py\" 955)) neq (None sender) (None self_address)) ((Some (\"contracts/CToken.py\" 955)) literal (string \"CT_INTERNAL_CALL\"))) ((Some (\"contracts/CToken.py\" 180)) set ((Some (\"contracts/CToken.py\" 180)) operations) ((Some (\"contracts/CToken.py\" 180)) cons ((Some (\"contracts/CToken.py\" 180)) transfer ((Some (\"contracts/CToken.py\" 178)) record (cToken (None self_address)) (redeemAmount (None parameter)) (redeemer (None sender))) ((Some (\"contracts/CToken.py\" 180)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 177)) open_variant ((Some (\"contracts/CToken.py\" 176)) contract \"redeemAllowed\" (record ((cToken \"address\") (redeemAmount \"nat\") (redeemer \"address\")) (Value ((\"cToken\") ((\"redeemer\") (\"redeemAmount\")))) (Some (\"contracts/interfaces/ComptrollerInterface.py\" 11))) ((Some (\"contracts/CToken.py\" 176)) attr ((Some (\"contracts/CToken.py\" 176)) storage) \"comptroller\")) \"Some\" \"None\")) ((Some (\"contracts/CToken.py\" 180)) operations))) ((Some (\"contracts/CToken.py\" 984)) define_local \"redeem_amount\" ((Some (\"contracts/CToken.py\" 984)) literal (nat 0)) True) ((Some (\"contracts/CToken.py\" 985)) if_block ((Some (\"contracts/CToken.py\" 156)) literal (bool True)) (((Some (\"contracts/CToken.py\" 986)) set ((Some (\"contracts/CToken.py\" 986)) var \"redeem_amount\") (None parameter)))) (else_block (((Some (\"contracts/CToken.py\" 668)) define_local \"excRate\" ((Some (\"contracts/CToken.py\" 668)) attr ((Some (\"contracts/CToken.py\" 668)) storage) \"initialExchangeRateMantissa\") True) ((Some (\"contracts/CToken.py\" 669)) if_block ((Some (\"contracts/CToken.py\" 669)) gt ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"contracts/CToken.py\" 669)) storage) \"totalSupply\") ((Some (\"contracts/CToken.py\" 669)) literal (intOrNat 0))) (((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 989)) literal (nat 0)) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 47)) set_type ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 989)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 989)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 254)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 989)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 255)) set_type ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 256)) verify ((Some (\"contracts/utils/Exponential.py\" 256)) gt ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\") ((Some (\"contracts/utils/Exponential.py\" 256)) literal (intOrNat 0))) ((Some (\"contracts/utils/Exponential.py\" 256)) literal (string \"DIVISION_BY_ZERO\"))) ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 989)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\")) \"nat\") ((Some (\"contracts/CToken.py\" 675)) set ((Some (\"contracts/CToken.py\" 675)) var \"excRate\") ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 989)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\"))))) ((Some (\"contracts/CToken.py\" 963)) define_local \"amount\" ((Some (\"contracts/CToken.py\" 963)) literal (nat 0)) True) ((Some (\"contracts/CToken.py\" 964)) if_block ((Some (\"contracts/CToken.py\" 964)) literal (bool False)) (((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 267)) set_type (None parameter) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 268)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 269)) verify ((Some (\"contracts/utils/Exponential.py\" 269)) gt ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") ((Some (\"contracts/utils/Exponential.py\" 269)) literal (intOrNat 0))) ((Some (\"contracts/utils/Exponential.py\" 269)) literal (string \"DIVISION_BY_ZERO\"))) ((Some (\"contracts/CToken.py\" 965)) define_local \"compute_CToken_965\" ((Some (\"contracts/utils/Exponential.py\" 270)) div ((Some (\"contracts/utils/Exponential.py\" 270)) mul_homo (None parameter) ((Some (\"contracts/utils/Exponential.py\" 270)) attr ((Some (\"contracts/utils/Exponential.py\" 270)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 676)) var \"excRate\")) True) ((Some (\"contracts/CToken.py\" 965)) set ((Some (\"contracts/CToken.py\" 965)) var \"amount\") ((Some (\"contracts/CToken.py\" 965)) var \"compute_CToken_965\")))) (else_block (((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 73)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 217)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 218)) set_type (None parameter) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") (None parameter)) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 60)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") (None parameter)))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/CToken.py\" 968)) define_local \"compute_CToken_968\" ((Some (\"contracts/utils/Exponential.py\" 61)) div ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") (None parameter)) ((Some (\"contracts/utils/Exponential.py\" 61)) attr ((Some (\"contracts/utils/Exponential.py\" 61)) storage) \"expScale\")) True) ((Some (\"contracts/CToken.py\" 968)) set ((Some (\"contracts/CToken.py\" 968)) var \"amount\") ((Some (\"contracts/CToken.py\" 968)) var \"compute_CToken_968\")))) ((Some (\"contracts/CToken.py\" 988)) set ((Some (\"contracts/CToken.py\" 988)) var \"redeem_amount\") ((Some (\"contracts/CToken.py\" 970)) var \"amount\")))) ((Some (\"contracts/CToken.py\" 993)) define_local \"redeem_tokens\" ((Some (\"contracts/CToken.py\" 993)) literal (nat 0)) True) ((Some (\"contracts/CToken.py\" 994)) if_block ((Some (\"contracts/CToken.py\" 156)) literal (bool True)) (((Some (\"contracts/CToken.py\" 668)) define_local \"excRate\" ((Some (\"contracts/CToken.py\" 668)) attr ((Some (\"contracts/CToken.py\" 668)) storage) \"initialExchangeRateMantissa\") True) ((Some (\"contracts/CToken.py\" 669)) if_block ((Some (\"contracts/CToken.py\" 669)) gt ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"contracts/CToken.py\" 669)) storage) \"totalSupply\") ((Some (\"contracts/CToken.py\" 669)) literal (intOrNat 0))) (((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 995)) literal (nat 0)) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 47)) set_type ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 995)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 995)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 254)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 995)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 255)) set_type ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 256)) verify ((Some (\"contracts/utils/Exponential.py\" 256)) gt ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\") ((Some (\"contracts/utils/Exponential.py\" 256)) literal (intOrNat 0))) ((Some (\"contracts/utils/Exponential.py\" 256)) literal (string \"DIVISION_BY_ZERO\"))) ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 995)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\")) \"nat\") ((Some (\"contracts/CToken.py\" 675)) set ((Some (\"contracts/CToken.py\" 675)) var \"excRate\") ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 995)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\"))))) ((Some (\"contracts/CToken.py\" 974)) define_local \"amount\" ((Some (\"contracts/CToken.py\" 974)) literal (nat 0)) True) ((Some (\"contracts/CToken.py\" 975)) if_block ((Some (\"contracts/CToken.py\" 975)) literal (bool True)) (((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 273)) set_type (None parameter) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 274)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 275)) verify ((Some (\"contracts/utils/Exponential.py\" 275)) gt ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") ((Some (\"contracts/utils/Exponential.py\" 275)) literal (intOrNat 0))) ((Some (\"contracts/utils/Exponential.py\" 275)) literal (string \"DIVISION_BY_ZERO\"))) ((Some (\"contracts/utils/Exponential.py\" 277)) define_local \"compute_Exponential_277\" ((Some (\"contracts/utils/Exponential.py\" 277)) mul_homo (None parameter) ((Some (\"contracts/utils/Exponential.py\" 277)) attr ((Some (\"contracts/utils/Exponential.py\" 277)) storage) \"expScale\")) True) ((Some (\"contracts/utils/Exponential.py\" 280)) define_local \"compute_Exponential_280\" ((Some (\"contracts/utils/Exponential.py\" 280)) div ((Some (\"contracts/utils/Exponential.py\" 277)) var \"compute_Exponential_277\") ((Some (\"contracts/CToken.py\" 676)) var \"excRate\")) True) ((Some (\"contracts/utils/Exponential.py\" 281)) if_block ((Some (\"contracts/utils/Exponential.py\" 281)) gt ((Some (\"contracts/utils/Exponential.py\" 281)) mod ((Some (\"contracts/utils/Exponential.py\" 277)) var \"compute_Exponential_277\") ((Some (\"contracts/CToken.py\" 676)) var \"excRate\")) ((Some (\"contracts/utils/Exponential.py\" 281)) literal (intOrNat 0))) ()) ((Some (\"contracts/CToken.py\" 976)) define_local \"compute_CToken_976\" ((Some (\"contracts/utils/Exponential.py\" 282)) add ((Some (\"contracts/utils/Exponential.py\" 280)) var \"compute_Exponential_280\") ((Some (\"contracts/utils/Exponential.py\" 282)) literal (intOrNat 1))) True) ((Some (\"contracts/CToken.py\" 976)) set ((Some (\"contracts/CToken.py\" 976)) var \"amount\") ((Some (\"contracts/CToken.py\" 976)) var \"compute_CToken_976\")))) (else_block (((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 73)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 217)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 218)) set_type (None parameter) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") (None parameter)) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 60)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") (None parameter)))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/CToken.py\" 979)) define_local \"compute_CToken_979\" ((Some (\"contracts/utils/Exponential.py\" 61)) div ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") (None parameter)) ((Some (\"contracts/utils/Exponential.py\" 61)) attr ((Some (\"contracts/utils/Exponential.py\" 61)) storage) \"expScale\")) True) ((Some (\"contracts/CToken.py\" 979)) set ((Some (\"contracts/CToken.py\" 979)) var \"amount\") ((Some (\"contracts/CToken.py\" 979)) var \"compute_CToken_979\")))) ((Some (\"contracts/CToken.py\" 995)) set ((Some (\"contracts/CToken.py\" 995)) var \"redeem_tokens\") ((Some (\"contracts/CToken.py\" 981)) var \"amount\")))) (else_block (((Some (\"contracts/CToken.py\" 997)) set ((Some (\"contracts/CToken.py\" 997)) var \"redeem_tokens\") (None parameter)))) ((Some (\"contracts/CToken.py\" 166)) if_block ((Some (\"contracts/CToken.py\" 166)) and ((Some (\"contracts/CToken.py\" 166)) gt ((Some (\"contracts/CToken.py\" 990)) var \"redeem_amount\") ((Some (\"contracts/CToken.py\" 166)) literal (intOrNat 0))) ((Some (\"contracts/CToken.py\" 166)) gt ((Some (\"contracts/CToken.py\" 998)) var \"redeem_tokens\") ((Some (\"contracts/CToken.py\" 166)) literal (intOrNat 0)))) (((Some (\"contracts/CToken.py\" 946)) verify ((Some (\"contracts/CToken.py\" 946)) ge ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 990)) var \"redeem_amount\")) ((Some (\"contracts/CToken.py\" 946)) literal (string \"CT_INSUFFICIENT_CASH\"))) ((Some (\"contracts/CToken.py\" 949)) verify ((Some (\"contracts/CToken.py\" 949)) eq (None level) ((Some (\"contracts/CToken.py\" 949)) attr ((Some (\"contracts/CToken.py\" 949)) storage) \"accrualBlockNumber\")) ((Some (\"contracts/CToken.py\" 949)) literal (string \"CT_INTEREST_OLD\"))) ((Some (\"contracts/CToken.py\" 169)) set ((Some (\"contracts/CToken.py\" 169)) attr ((Some (\"contracts/CToken.py\" 169)) storage) \"totalSupply\") ((Some (\"contracts/CToken.py\" 169)) open_variant ((Some (\"contracts/CToken.py\" 169)) is_nat ((Some (\"contracts/CToken.py\" 170)) sub ((Some (\"contracts/CToken.py\" 170)) attr ((Some (\"contracts/CToken.py\" 170)) storage) \"totalSupply\") ((Some (\"contracts/CToken.py\" 998)) var \"redeem_tokens\"))) \"Some\" ((Some (\"contracts/CToken.py\" 169)) literal (string \"Insufficient supply\")))) ((Some (\"contracts/CToken.py\" 171)) set ((Some (\"contracts/CToken.py\" 171)) attr ((Some (\"contracts/CToken.py\" 171)) get_item ((Some (\"contracts/CToken.py\" 171)) attr ((Some (\"contracts/CToken.py\" 171)) storage) \"ledger\") (None sender)) \"balance\") ((Some (\"contracts/CToken.py\" 171)) open_variant ((Some (\"contracts/CToken.py\" 171)) is_nat ((Some (\"contracts/CToken.py\" 172)) sub ((Some (\"contracts/CToken.py\" 172)) attr ((Some (\"contracts/CToken.py\" 172)) get_item ((Some (\"contracts/CToken.py\" 172)) attr ((Some (\"contracts/CToken.py\" 172)) storage) \"ledger\") (None sender)) \"balance\") ((Some (\"contracts/CToken.py\" 998)) var \"redeem_tokens\"))) \"Some\" ((Some (\"contracts/CToken.py\" 171)) literal (string \"Insufficient balance\")))))))) (reduceReserves True None None None True None (Some (\"contracts/CToken.py\" 920)) (((Some (\"contracts/CToken.py\" 921)) set_type (None parameter) \"nat\") ((Some (\"contracts/CToken.py\" 943)) verify ((Some (\"contracts/CToken.py\" 943)) eq (None sender) ((Some (\"contracts/CToken.py\" 943)) attr ((Some (\"contracts/CToken.py\" 943)) storage) \"administrator\")) ((Some (\"contracts/CToken.py\" 943)) literal (string \"CT_NOT_ADMIN\"))) ((Some (\"contracts/utils/OperationProtector.py\" 40)) verify ((Some (\"contracts/utils/OperationProtector.py\" 40)) eq ((Some (\"contracts/utils/OperationProtector.py\" 40)) size ((Some (\"contracts/utils/OperationProtector.py\" 40)) attr ((Some (\"contracts/utils/OperationProtector.py\" 40)) storage) \"activeOperations\")) ((Some (\"contracts/utils/OperationProtector.py\" 40)) literal (intOrNat 0))) ((Some (\"contracts/utils/OperationProtector.py\" 40)) literal (string \"OP_IN_PROGRESS\"))) ((Some (\"contracts/utils/OperationProtector.py\" 46)) update_set ((Some (\"contracts/utils/OperationProtector.py\" 46)) attr ((Some (\"contracts/utils/OperationProtector.py\" 46)) storage) \"activeOperations\") ((Some (\"contracts/utils/OperationProtector.py\" 21)) literal (nat 12)) True) ((Some (\"contracts/CToken.py\" 924)) set ((Some (\"contracts/CToken.py\" 924)) operations) ((Some (\"contracts/CToken.py\" 924)) cons ((Some (\"contracts/CToken.py\" 924)) transfer (None literal (unit)) ((Some (\"contracts/CToken.py\" 924)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 925)) self \"accrueInterest\")) ((Some (\"contracts/CToken.py\" 924)) operations))) ((Some (\"contracts/CToken.py\" 926)) set ((Some (\"contracts/CToken.py\" 926)) operations) ((Some (\"contracts/CToken.py\" 926)) cons ((Some (\"contracts/CToken.py\" 926)) transfer (None parameter) (None amount) ((Some (\"contracts/CToken.py\" 926)) self \"reduceReservesInternal\")) ((Some (\"contracts/CToken.py\" 926)) operations))))) (reduceReservesInternal True (Some True) None None True None (Some (\"contracts/CToken.py\" 930)) (((Some (\"contracts/CToken.py\" 952)) verify ((Some (\"contracts/CToken.py\" 952)) eq (None sender) (None self_address)) ((Some (\"contracts/CToken.py\" 952)) literal (string \"CT_INTERNAL_FUNCTION\"))) ((Some (\"contracts/utils/OperationProtector.py\" 43)) verify ((Some (\"contracts/utils/OperationProtector.py\" 43)) contains ((Some (\"contracts/utils/OperationProtector.py\" 43)) attr ((Some (\"contracts/utils/OperationProtector.py\" 43)) storage) \"activeOperations\") ((Some (\"contracts/utils/OperationProtector.py\" 21)) literal (nat 12))) ((Some (\"contracts/utils/OperationProtector.py\" 43)) literal (string \"OP_NOT_ACTIVE\"))) ((Some (\"contracts/utils/OperationProtector.py\" 49)) update_set ((Some (\"contracts/utils/OperationProtector.py\" 49)) attr ((Some (\"contracts/utils/OperationProtector.py\" 49)) storage) \"activeOperations\") ((Some (\"contracts/utils/OperationProtector.py\" 21)) literal (nat 12)) False) ((Some (\"contracts/CToken.py\" 946)) verify ((Some (\"contracts/CToken.py\" 946)) ge ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) (None parameter)) ((Some (\"contracts/CToken.py\" 946)) literal (string \"CT_INSUFFICIENT_CASH\"))) ((Some (\"contracts/CToken.py\" 934)) verify ((Some (\"contracts/CToken.py\" 934)) le (None parameter) ((Some (\"contracts/CToken.py\" 934)) attr ((Some (\"contracts/CToken.py\" 934)) storage) \"totalReserves\")) ((Some (\"contracts/CToken.py\" 934)) literal (string \"CT_REDUCE_AMOUNT\"))) ((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"contracts/CToken.py\" 938)) attr ((Some (\"contracts/CToken.py\" 938)) storage) \"totalReserves\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type (None parameter) \"nat\") ((Some (\"contracts/CToken.py\" 937)) set ((Some (\"contracts/CToken.py\" 937)) attr ((Some (\"contracts/CToken.py\" 937)) storage) \"totalReserves\") ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"contracts/CToken.py\" 938)) attr ((Some (\"contracts/CToken.py\" 938)) storage) \"totalReserves\") (None parameter))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\")))))) (removePendingGovernance True (Some True) None None True None (Some (\"contracts/CToken.py\" 823)) (((Some (\"contracts/CToken.py\" 824)) set_type (None parameter) \"unit\") ((Some (\"contracts/CToken.py\" 943)) verify ((Some (\"contracts/CToken.py\" 943)) eq (None sender) ((Some (\"contracts/CToken.py\" 943)) attr ((Some (\"contracts/CToken.py\" 943)) storage) \"administrator\")) ((Some (\"contracts/CToken.py\" 943)) literal (string \"CT_NOT_ADMIN\"))) ((Some (\"contracts/CToken.py\" 826)) set ((Some (\"contracts/CToken.py\" 826)) attr ((Some (\"contracts/CToken.py\" 826)) storage) \"pendingAdministrator\") (None variant \"None\" (None literal (unit)))))) (repayBorrow True None None None True None (Some (\"contracts/CToken.py\" 231)) (((Some (\"contracts/CToken.py\" 232)) set_type (None parameter) \"nat\") ((Some (\"contracts/CToken.py\" 955)) verify ((Some (\"contracts/CToken.py\" 955)) neq (None sender) (None self_address)) ((Some (\"contracts/CToken.py\" 955)) literal (string \"CT_INTERNAL_CALL\"))) ((Some (\"contracts/CToken.py\" 433)) if_block ((Some (\"contracts/CToken.py\" 433)) not ((Some (\"contracts/CToken.py\" 433)) contains ((Some (\"contracts/CToken.py\" 433)) attr ((Some (\"contracts/CToken.py\" 433)) storage) \"ledger\") (None sender))) (((Some (\"contracts/CToken.py\" 434)) set ((Some (\"contracts/CToken.py\" 434)) get_item ((Some (\"contracts/CToken.py\" 434)) attr ((Some (\"contracts/CToken.py\" 434)) storage) \"ledger\") (None sender)) ((Some (\"contracts/CToken.py\" 434)) record (approvals ((Some (\"contracts/CToken.py\" 434)) map )) (balance ((Some (\"contracts/CToken.py\" 434)) literal (nat 0))))))) ((Some (\"contracts/CToken.py\" 436)) if_block ((Some (\"contracts/CToken.py\" 436)) not ((Some (\"contracts/CToken.py\" 436)) contains ((Some (\"contracts/CToken.py\" 436)) attr ((Some (\"contracts/CToken.py\" 436)) storage) \"borrows\") (None sender))) (((Some (\"contracts/CToken.py\" 437)) set ((Some (\"contracts/CToken.py\" 437)) get_item ((Some (\"contracts/CToken.py\" 437)) attr ((Some (\"contracts/CToken.py\" 437)) storage) \"borrows\") (None sender)) ((Some (\"contracts/CToken.py\" 437)) record (interestIndex ((Some (\"contracts/CToken.py\" 438)) literal (nat 0))) (principal ((Some (\"contracts/CToken.py\" 438)) literal (nat 0))))))) ((Some (\"contracts/CToken.py\" 279)) set ((Some (\"contracts/CToken.py\" 279)) operations) ((Some (\"contracts/CToken.py\" 279)) cons ((Some (\"contracts/CToken.py\" 279)) transfer ((Some (\"contracts/CToken.py\" 277)) record (borrower (None sender)) (cToken (None self_address)) (payer (None sender)) (repayAmount (None parameter))) ((Some (\"contracts/CToken.py\" 279)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 276)) open_variant ((Some (\"contracts/CToken.py\" 275)) contract \"repayBorrowAllowed\" (record ((borrower \"address\") (cToken \"address\") (payer \"address\") (repayAmount \"nat\")) (Value ((\"cToken\") ((\"payer\") ((\"borrower\") (\"repayAmount\"))))) (Some (\"contracts/interfaces/ComptrollerInterface.py\" 13))) ((Some (\"contracts/CToken.py\" 275)) attr ((Some (\"contracts/CToken.py\" 275)) storage) \"comptroller\")) \"Some\" \"None\")) ((Some (\"contracts/CToken.py\" 279)) operations))) ((Some (\"contracts/CToken.py\" 949)) verify ((Some (\"contracts/CToken.py\" 949)) eq (None level) ((Some (\"contracts/CToken.py\" 949)) attr ((Some (\"contracts/CToken.py\" 949)) storage) \"accrualBlockNumber\")) ((Some (\"contracts/CToken.py\" 949)) literal (string \"CT_INTEREST_OLD\"))) ((Some (\"contracts/CToken.py\" 625)) define_local \"borrowBalance\" ((Some (\"contracts/CToken.py\" 625)) literal (nat 0)) True) ((Some (\"contracts/CToken.py\" 626)) if_block ((Some (\"contracts/CToken.py\" 626)) contains ((Some (\"contracts/CToken.py\" 626)) attr ((Some (\"contracts/CToken.py\" 626)) storage) \"borrows\") (None sender)) (((Some (\"contracts/CToken.py\" 627)) define_local \"borrowSnapshot\" ((Some (\"contracts/CToken.py\" 628)) get_item ((Some (\"contracts/CToken.py\" 628)) attr ((Some (\"contracts/CToken.py\" 628)) storage) \"borrows\") (None sender)) True) ((Some (\"contracts/CToken.py\" 629)) if_block ((Some (\"contracts/CToken.py\" 629)) gt ((Some (\"contracts/CToken.py\" 629)) attr ((Some (\"contracts/CToken.py\" 629)) var \"borrowSnapshot\") \"principal\") ((Some (\"contracts/CToken.py\" 629)) literal (intOrNat 0))) (((Some (\"contracts/CToken.py\" 631)) set ((Some (\"contracts/CToken.py\" 631)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 631)) div ((Some (\"contracts/CToken.py\" 630)) mul_homo ((Some (\"contracts/CToken.py\" 630)) attr ((Some (\"contracts/CToken.py\" 630)) var \"borrowSnapshot\") \"principal\") ((Some (\"contracts/CToken.py\" 630)) attr ((Some (\"contracts/CToken.py\" 630)) storage) \"borrowIndex\")) ((Some (\"contracts/CToken.py\" 631)) attr ((Some (\"contracts/CToken.py\" 631)) var \"borrowSnapshot\") \"interestIndex\"))))))) ((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 261)) min ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") (None parameter)) \"nat\") ((Some (\"contracts/CToken.py\" 263)) set ((Some (\"contracts/CToken.py\" 263)) attr ((Some (\"contracts/CToken.py\" 263)) get_item ((Some (\"contracts/CToken.py\" 263)) attr ((Some (\"contracts/CToken.py\" 263)) storage) \"borrows\") (None sender)) \"principal\") ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 261)) min ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") (None parameter)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\")))) ((Some (\"contracts/CToken.py\" 265)) set ((Some (\"contracts/CToken.py\" 265)) attr ((Some (\"contracts/CToken.py\" 265)) get_item ((Some (\"contracts/CToken.py\" 265)) attr ((Some (\"contracts/CToken.py\" 265)) storage) \"borrows\") (None sender)) \"interestIndex\") ((Some (\"contracts/CToken.py\" 265)) attr ((Some (\"contracts/CToken.py\" 265)) storage) \"borrowIndex\")) ((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"contracts/CToken.py\" 267)) attr ((Some (\"contracts/CToken.py\" 267)) storage) \"totalBorrows\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 261)) min ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") (None parameter)) \"nat\") ((Some (\"contracts/CToken.py\" 266)) set ((Some (\"contracts/CToken.py\" 266)) attr ((Some (\"contracts/CToken.py\" 266)) storage) \"totalBorrows\") ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"contracts/CToken.py\" 267)) attr ((Some (\"contracts/CToken.py\" 267)) storage) \"totalBorrows\") ((Some (\"contracts/CToken.py\" 261)) min ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") (None parameter)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\")))) ((Some (\"contracts/CToken.py\" 268)) if_block ((Some (\"contracts/CToken.py\" 268)) eq ((Some (\"contracts/CToken.py\" 268)) attr ((Some (\"contracts/CToken.py\" 268)) get_item ((Some (\"contracts/CToken.py\" 268)) attr ((Some (\"contracts/CToken.py\" 268)) storage) \"borrows\") (None sender)) \"principal\") ((Some (\"contracts/CToken.py\" 268)) literal (intOrNat 0))) (((Some (\"contracts/CToken.py\" 271)) set ((Some (\"contracts/CToken.py\" 271)) operations) ((Some (\"contracts/CToken.py\" 271)) cons ((Some (\"contracts/CToken.py\" 271)) transfer (None sender) ((Some (\"contracts/CToken.py\" 271)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 270)) open_variant ((Some (\"contracts/CToken.py\" 269)) contract \"removeFromLoans\" \"address\" ((Some (\"contracts/CToken.py\" 269)) attr ((Some (\"contracts/CToken.py\" 269)) storage) \"comptroller\")) \"Some\" \"None\")) ((Some (\"contracts/CToken.py\" 271)) operations))))))) (repayBorrowBehalf True None None None True None (Some (\"contracts/CToken.py\" 249)) (((Some (\"contracts/CToken.py\" 250)) set_type (None parameter) (record ((borrower \"address\") (repayAmount \"nat\")) Variable (Some (\"contracts/CToken.py\" 250)))) ((Some (\"contracts/CToken.py\" 955)) verify ((Some (\"contracts/CToken.py\" 955)) neq (None sender) (None self_address)) ((Some (\"contracts/CToken.py\" 955)) literal (string \"CT_INTERNAL_CALL\"))) ((Some (\"contracts/CToken.py\" 433)) if_block ((Some (\"contracts/CToken.py\" 433)) not ((Some (\"contracts/CToken.py\" 433)) contains ((Some (\"contracts/CToken.py\" 433)) attr ((Some (\"contracts/CToken.py\" 433)) storage) \"ledger\") (None sender))) (((Some (\"contracts/CToken.py\" 434)) set ((Some (\"contracts/CToken.py\" 434)) get_item ((Some (\"contracts/CToken.py\" 434)) attr ((Some (\"contracts/CToken.py\" 434)) storage) \"ledger\") (None sender)) ((Some (\"contracts/CToken.py\" 434)) record (approvals ((Some (\"contracts/CToken.py\" 434)) map )) (balance ((Some (\"contracts/CToken.py\" 434)) literal (nat 0))))))) ((Some (\"contracts/CToken.py\" 436)) if_block ((Some (\"contracts/CToken.py\" 436)) not ((Some (\"contracts/CToken.py\" 436)) contains ((Some (\"contracts/CToken.py\" 436)) attr ((Some (\"contracts/CToken.py\" 436)) storage) \"borrows\") (None sender))) (((Some (\"contracts/CToken.py\" 437)) set ((Some (\"contracts/CToken.py\" 437)) get_item ((Some (\"contracts/CToken.py\" 437)) attr ((Some (\"contracts/CToken.py\" 437)) storage) \"borrows\") (None sender)) ((Some (\"contracts/CToken.py\" 437)) record (interestIndex ((Some (\"contracts/CToken.py\" 438)) literal (nat 0))) (principal ((Some (\"contracts/CToken.py\" 438)) literal (nat 0))))))) ((Some (\"contracts/CToken.py\" 279)) set ((Some (\"contracts/CToken.py\" 279)) operations) ((Some (\"contracts/CToken.py\" 279)) cons ((Some (\"contracts/CToken.py\" 279)) transfer ((Some (\"contracts/CToken.py\" 277)) record (borrower ((Some (\"contracts/CToken.py\" 254)) attr (None parameter) \"borrower\")) (cToken (None self_address)) (payer (None sender)) (repayAmount ((Some (\"contracts/CToken.py\" 254)) attr (None parameter) \"repayAmount\"))) ((Some (\"contracts/CToken.py\" 279)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 276)) open_variant ((Some (\"contracts/CToken.py\" 275)) contract \"repayBorrowAllowed\" (record ((borrower \"address\") (cToken \"address\") (payer \"address\") (repayAmount \"nat\")) (Value ((\"cToken\") ((\"payer\") ((\"borrower\") (\"repayAmount\"))))) (Some (\"contracts/interfaces/ComptrollerInterface.py\" 13))) ((Some (\"contracts/CToken.py\" 275)) attr ((Some (\"contracts/CToken.py\" 275)) storage) \"comptroller\")) \"Some\" \"None\")) ((Some (\"contracts/CToken.py\" 279)) operations))) ((Some (\"contracts/CToken.py\" 949)) verify ((Some (\"contracts/CToken.py\" 949)) eq (None level) ((Some (\"contracts/CToken.py\" 949)) attr ((Some (\"contracts/CToken.py\" 949)) storage) \"accrualBlockNumber\")) ((Some (\"contracts/CToken.py\" 949)) literal (string \"CT_INTEREST_OLD\"))) ((Some (\"contracts/CToken.py\" 625)) define_local \"borrowBalance\" ((Some (\"contracts/CToken.py\" 625)) literal (nat 0)) True) ((Some (\"contracts/CToken.py\" 626)) if_block ((Some (\"contracts/CToken.py\" 626)) contains ((Some (\"contracts/CToken.py\" 626)) attr ((Some (\"contracts/CToken.py\" 626)) storage) \"borrows\") ((Some (\"contracts/CToken.py\" 254)) attr (None parameter) \"borrower\")) (((Some (\"contracts/CToken.py\" 627)) define_local \"borrowSnapshot\" ((Some (\"contracts/CToken.py\" 628)) get_item ((Some (\"contracts/CToken.py\" 628)) attr ((Some (\"contracts/CToken.py\" 628)) storage) \"borrows\") ((Some (\"contracts/CToken.py\" 254)) attr (None parameter) \"borrower\")) True) ((Some (\"contracts/CToken.py\" 629)) if_block ((Some (\"contracts/CToken.py\" 629)) gt ((Some (\"contracts/CToken.py\" 629)) attr ((Some (\"contracts/CToken.py\" 629)) var \"borrowSnapshot\") \"principal\") ((Some (\"contracts/CToken.py\" 629)) literal (intOrNat 0))) (((Some (\"contracts/CToken.py\" 631)) set ((Some (\"contracts/CToken.py\" 631)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 631)) div ((Some (\"contracts/CToken.py\" 630)) mul_homo ((Some (\"contracts/CToken.py\" 630)) attr ((Some (\"contracts/CToken.py\" 630)) var \"borrowSnapshot\") \"principal\") ((Some (\"contracts/CToken.py\" 630)) attr ((Some (\"contracts/CToken.py\" 630)) storage) \"borrowIndex\")) ((Some (\"contracts/CToken.py\" 631)) attr ((Some (\"contracts/CToken.py\" 631)) var \"borrowSnapshot\") \"interestIndex\"))))))) ((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 261)) min ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 254)) attr (None parameter) \"repayAmount\")) \"nat\") ((Some (\"contracts/CToken.py\" 263)) set ((Some (\"contracts/CToken.py\" 263)) attr ((Some (\"contracts/CToken.py\" 263)) get_item ((Some (\"contracts/CToken.py\" 263)) attr ((Some (\"contracts/CToken.py\" 263)) storage) \"borrows\") ((Some (\"contracts/CToken.py\" 254)) attr (None parameter) \"borrower\")) \"principal\") ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 261)) min ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 254)) attr (None parameter) \"repayAmount\")))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\")))) ((Some (\"contracts/CToken.py\" 265)) set ((Some (\"contracts/CToken.py\" 265)) attr ((Some (\"contracts/CToken.py\" 265)) get_item ((Some (\"contracts/CToken.py\" 265)) attr ((Some (\"contracts/CToken.py\" 265)) storage) \"borrows\") ((Some (\"contracts/CToken.py\" 254)) attr (None parameter) \"borrower\")) \"interestIndex\") ((Some (\"contracts/CToken.py\" 265)) attr ((Some (\"contracts/CToken.py\" 265)) storage) \"borrowIndex\")) ((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"contracts/CToken.py\" 267)) attr ((Some (\"contracts/CToken.py\" 267)) storage) \"totalBorrows\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 261)) min ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 254)) attr (None parameter) \"repayAmount\")) \"nat\") ((Some (\"contracts/CToken.py\" 266)) set ((Some (\"contracts/CToken.py\" 266)) attr ((Some (\"contracts/CToken.py\" 266)) storage) \"totalBorrows\") ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"contracts/CToken.py\" 267)) attr ((Some (\"contracts/CToken.py\" 267)) storage) \"totalBorrows\") ((Some (\"contracts/CToken.py\" 261)) min ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 254)) attr (None parameter) \"repayAmount\")))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\")))) ((Some (\"contracts/CToken.py\" 268)) if_block ((Some (\"contracts/CToken.py\" 268)) eq ((Some (\"contracts/CToken.py\" 268)) attr ((Some (\"contracts/CToken.py\" 268)) get_item ((Some (\"contracts/CToken.py\" 268)) attr ((Some (\"contracts/CToken.py\" 268)) storage) \"borrows\") ((Some (\"contracts/CToken.py\" 254)) attr (None parameter) \"borrower\")) \"principal\") ((Some (\"contracts/CToken.py\" 268)) literal (intOrNat 0))) (((Some (\"contracts/CToken.py\" 271)) set ((Some (\"contracts/CToken.py\" 271)) operations) ((Some (\"contracts/CToken.py\" 271)) cons ((Some (\"contracts/CToken.py\" 271)) transfer ((Some (\"contracts/CToken.py\" 254)) attr (None parameter) \"borrower\") ((Some (\"contracts/CToken.py\" 271)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 270)) open_variant ((Some (\"contracts/CToken.py\" 269)) contract \"removeFromLoans\" \"address\" ((Some (\"contracts/CToken.py\" 269)) attr ((Some (\"contracts/CToken.py\" 269)) storage) \"comptroller\")) \"Some\" \"None\")) ((Some (\"contracts/CToken.py\" 271)) operations))))))) (seize True None None None True None (Some (\"contracts/CToken.py\" 291)) (((Some (\"contracts/CToken.py\" 292)) set_type (None parameter) (record ((borrower \"address\") (liquidator \"address\") (seizeTokens \"nat\")) Variable (Some (\"contracts/interfaces/CTokenInterface.py\" 24)))) ((Some (\"contracts/CToken.py\" 433)) if_block ((Some (\"contracts/CToken.py\" 433)) not ((Some (\"contracts/CToken.py\" 433)) contains ((Some (\"contracts/CToken.py\" 433)) attr ((Some (\"contracts/CToken.py\" 433)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 293)) attr (None parameter) \"liquidator\"))) (((Some (\"contracts/CToken.py\" 434)) set ((Some (\"contracts/CToken.py\" 434)) get_item ((Some (\"contracts/CToken.py\" 434)) attr ((Some (\"contracts/CToken.py\" 434)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 293)) attr (None parameter) \"liquidator\")) ((Some (\"contracts/CToken.py\" 434)) record (approvals ((Some (\"contracts/CToken.py\" 434)) map )) (balance ((Some (\"contracts/CToken.py\" 434)) literal (nat 0))))))) ((Some (\"contracts/CToken.py\" 436)) if_block ((Some (\"contracts/CToken.py\" 436)) not ((Some (\"contracts/CToken.py\" 436)) contains ((Some (\"contracts/CToken.py\" 436)) attr ((Some (\"contracts/CToken.py\" 436)) storage) \"borrows\") ((Some (\"contracts/CToken.py\" 293)) attr (None parameter) \"liquidator\"))) (((Some (\"contracts/CToken.py\" 437)) set ((Some (\"contracts/CToken.py\" 437)) get_item ((Some (\"contracts/CToken.py\" 437)) attr ((Some (\"contracts/CToken.py\" 437)) storage) \"borrows\") ((Some (\"contracts/CToken.py\" 293)) attr (None parameter) \"liquidator\")) ((Some (\"contracts/CToken.py\" 437)) record (interestIndex ((Some (\"contracts/CToken.py\" 438)) literal (nat 0))) (principal ((Some (\"contracts/CToken.py\" 438)) literal (nat 0))))))) ((Some (\"contracts/CToken.py\" 300)) verify ((Some (\"contracts/CToken.py\" 299)) open_variant ((Some (\"contracts/CToken.py\" 298)) view \"seizeAllowed\" ((Some (\"contracts/CToken.py\" 298)) record (cTokenBorrowed (None sender)) (cTokenCollateral (None self_address))) ((Some (\"contracts/CToken.py\" 298)) attr ((Some (\"contracts/CToken.py\" 298)) storage) \"comptroller\") \"bool\") \"Some\" ((Some (\"contracts/CToken.py\" 299)) literal (string \"INVALID SEIZE ALLOWED VIEW\"))) ((Some (\"contracts/CToken.py\" 300)) literal (string \"CT_LIQUIDATE_SEIZE_COMPTROLLER_REJECTION\"))) ((Some (\"contracts/CToken.py\" 302)) verify ((Some (\"contracts/CToken.py\" 302)) neq ((Some (\"contracts/CToken.py\" 294)) attr (None parameter) \"borrower\") ((Some (\"contracts/CToken.py\" 293)) attr (None parameter) \"liquidator\")) ((Some (\"contracts/CToken.py\" 302)) literal (string \"CT_LIQUIDATE_SEIZE_LIQUIDATOR_IS_BORROWER\"))) ((Some (\"contracts/CToken.py\" 949)) verify ((Some (\"contracts/CToken.py\" 949)) eq (None level) ((Some (\"contracts/CToken.py\" 949)) attr ((Some (\"contracts/CToken.py\" 949)) storage) \"accrualBlockNumber\")) ((Some (\"contracts/CToken.py\" 949)) literal (string \"CT_INTEREST_OLD\"))) ((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"contracts/CToken.py\" 307)) attr ((Some (\"contracts/CToken.py\" 307)) get_item ((Some (\"contracts/CToken.py\" 307)) attr ((Some (\"contracts/CToken.py\" 307)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 294)) attr (None parameter) \"borrower\")) \"balance\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 294)) attr (None parameter) \"seizeTokens\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/CToken.py\" 313)) attr ((Some (\"contracts/CToken.py\" 313)) storage) \"protocolSeizeShareMantissa\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 229)) set_type ((Some (\"contracts/CToken.py\" 294)) attr (None parameter) \"seizeTokens\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 230)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 313)) attr ((Some (\"contracts/CToken.py\" 313)) storage) \"protocolSeizeShareMantissa\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/CToken.py\" 312)) define_local \"protocolSeizeTokens\" ((Some (\"contracts/utils/Exponential.py\" 231)) div ((Some (\"contracts/utils/Exponential.py\" 231)) mul_homo ((Some (\"contracts/CToken.py\" 294)) attr (None parameter) \"seizeTokens\") ((Some (\"contracts/CToken.py\" 313)) attr ((Some (\"contracts/CToken.py\" 313)) storage) \"protocolSeizeShareMantissa\")) ((Some (\"contracts/utils/Exponential.py\" 231)) attr ((Some (\"contracts/utils/Exponential.py\" 231)) storage) \"expScale\")) True) ((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"contracts/CToken.py\" 294)) attr (None parameter) \"seizeTokens\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 316)) var \"protocolSeizeTokens\") \"nat\") ((Some (\"contracts/CToken.py\" 668)) define_local \"excRate\" ((Some (\"contracts/CToken.py\" 668)) attr ((Some (\"contracts/CToken.py\" 668)) storage) \"initialExchangeRateMantissa\") True) ((Some (\"contracts/CToken.py\" 669)) if_block ((Some (\"contracts/CToken.py\" 669)) gt ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"contracts/CToken.py\" 669)) storage) \"totalSupply\") ((Some (\"contracts/CToken.py\" 669)) literal (intOrNat 0))) (((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 47)) set_type ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 254)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 255)) set_type ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 256)) verify ((Some (\"contracts/utils/Exponential.py\" 256)) gt ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\") ((Some (\"contracts/utils/Exponential.py\" 256)) literal (intOrNat 0))) ((Some (\"contracts/utils/Exponential.py\" 256)) literal (string \"DIVISION_BY_ZERO\"))) ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\")) \"nat\") ((Some (\"contracts/CToken.py\" 675)) set ((Some (\"contracts/CToken.py\" 675)) var \"excRate\") ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"./contracts/tests/CTokenTest.py\" 19)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 19)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"contracts/CToken.py\" 672)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"contracts/utils/Exponential.py\" 48)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 674)) attr ((Some (\"contracts/CToken.py\" 674)) storage) \"totalSupply\"))))) ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 73)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 217)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/CToken.py\" 676)) var \"excRate\"))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 218)) set_type ((Some (\"contracts/CToken.py\" 321)) var \"protocolSeizeTokens\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") ((Some (\"contracts/CToken.py\" 321)) var \"protocolSeizeTokens\")) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 60)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") ((Some (\"contracts/CToken.py\" 321)) var \"protocolSeizeTokens\")))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 169)) set_type ((Some (\"contracts/CToken.py\" 323)) attr ((Some (\"contracts/CToken.py\" 323)) storage) \"totalReserves\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 170)) set_type ((Some (\"contracts/utils/Exponential.py\" 61)) div ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") ((Some (\"contracts/CToken.py\" 321)) var \"protocolSeizeTokens\")) ((Some (\"contracts/utils/Exponential.py\" 61)) attr ((Some (\"contracts/utils/Exponential.py\" 61)) storage) \"expScale\")) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"contracts/CToken.py\" 327)) attr ((Some (\"contracts/CToken.py\" 327)) storage) \"totalSupply\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 327)) var \"protocolSeizeTokens\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 169)) set_type ((Some (\"contracts/CToken.py\" 308)) attr ((Some (\"contracts/CToken.py\" 308)) get_item ((Some (\"contracts/CToken.py\" 308)) attr ((Some (\"contracts/CToken.py\" 308)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 293)) attr (None parameter) \"liquidator\")) \"balance\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 170)) set_type ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"contracts/CToken.py\" 294)) attr (None parameter) \"seizeTokens\") ((Some (\"contracts/CToken.py\" 316)) var \"protocolSeizeTokens\"))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) \"nat\") ((Some (\"contracts/CToken.py\" 332)) set ((Some (\"contracts/CToken.py\" 332)) attr ((Some (\"contracts/CToken.py\" 332)) storage) \"totalReserves\") ((Some (\"contracts/utils/Exponential.py\" 171)) add ((Some (\"contracts/CToken.py\" 323)) attr ((Some (\"contracts/CToken.py\" 323)) storage) \"totalReserves\") ((Some (\"contracts/utils/Exponential.py\" 61)) div ((Some (\"contracts/utils/Exponential.py\" 219)) mul_homo ((Some (\"contracts/CToken.py\" 676)) var \"excRate\") ((Some (\"contracts/CToken.py\" 321)) var \"protocolSeizeTokens\")) ((Some (\"contracts/utils/Exponential.py\" 61)) attr ((Some (\"contracts/utils/Exponential.py\" 61)) storage) \"expScale\")))) ((Some (\"contracts/CToken.py\" 333)) set ((Some (\"contracts/CToken.py\" 333)) attr ((Some (\"contracts/CToken.py\" 333)) storage) \"totalSupply\") ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"contracts/CToken.py\" 327)) attr ((Some (\"contracts/CToken.py\" 327)) storage) \"totalSupply\") ((Some (\"contracts/CToken.py\" 327)) var \"protocolSeizeTokens\"))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\")))) ((Some (\"contracts/CToken.py\" 334)) set ((Some (\"contracts/CToken.py\" 334)) attr ((Some (\"contracts/CToken.py\" 334)) get_item ((Some (\"contracts/CToken.py\" 334)) attr ((Some (\"contracts/CToken.py\" 334)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 294)) attr (None parameter) \"borrower\")) \"balance\") ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"contracts/CToken.py\" 307)) attr ((Some (\"contracts/CToken.py\" 307)) get_item ((Some (\"contracts/CToken.py\" 307)) attr ((Some (\"contracts/CToken.py\" 307)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 294)) attr (None parameter) \"borrower\")) \"balance\") ((Some (\"contracts/CToken.py\" 294)) attr (None parameter) \"seizeTokens\"))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\")))) ((Some (\"contracts/CToken.py\" 335)) set ((Some (\"contracts/CToken.py\" 335)) attr ((Some (\"contracts/CToken.py\" 335)) get_item ((Some (\"contracts/CToken.py\" 335)) attr ((Some (\"contracts/CToken.py\" 335)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 293)) attr (None parameter) \"liquidator\")) \"balance\") ((Some (\"contracts/utils/Exponential.py\" 171)) add ((Some (\"contracts/CToken.py\" 308)) attr ((Some (\"contracts/CToken.py\" 308)) get_item ((Some (\"contracts/CToken.py\" 308)) attr ((Some (\"contracts/CToken.py\" 308)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 293)) attr (None parameter) \"liquidator\")) \"balance\") ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"contracts/CToken.py\" 294)) attr (None parameter) \"seizeTokens\") ((Some (\"contracts/CToken.py\" 316)) var \"protocolSeizeTokens\"))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))))))) (setAccountSnapshot True None None None True None (Some (\"./contracts/tests/CTokenTest.py\" 29)) (((Some (\"./contracts/tests/CTokenTest.py\" 30)) set_type (None parameter) (record ((account \"address\") (borrowBalance \"nat\") (cTokenBalance \"nat\") (exchangeRateMantissa \"nat\")) Variable (Some (\"contracts/interfaces/CTokenInterface.py\" 21)))) ((Some (\"./contracts/tests/CTokenTest.py\" 31)) set ((Some (\"./contracts/tests/CTokenTest.py\" 31)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 31)) storage) \"accCTokenBalance\") ((Some (\"./contracts/tests/CTokenTest.py\" 31)) attr (None parameter) \"cTokenBalance\")) ((Some (\"./contracts/tests/CTokenTest.py\" 32)) set ((Some (\"./contracts/tests/CTokenTest.py\" 32)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 32)) storage) \"accBorrowBalance\") ((Some (\"./contracts/tests/CTokenTest.py\" 32)) attr (None parameter) \"borrowBalance\")) ((Some (\"./contracts/tests/CTokenTest.py\" 33)) set ((Some (\"./contracts/tests/CTokenTest.py\" 33)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 33)) storage) \"accExchangeRateMantissa\") ((Some (\"./contracts/tests/CTokenTest.py\" 33)) attr (None parameter) \"exchangeRateMantissa\")))) (setActiveOp True None None None True None (Some (\"./contracts/tests/CTokenTest.py\" 36)) (((Some (\"./contracts/tests/CTokenTest.py\" 37)) set_type (None parameter) \"nat\") ((Some (\"contracts/utils/OperationProtector.py\" 46)) update_set ((Some (\"contracts/utils/OperationProtector.py\" 46)) attr ((Some (\"contracts/utils/OperationProtector.py\" 46)) storage) \"activeOperations\") (None parameter) True))) (setComptroller True (Some True) None None True None (Some (\"contracts/CToken.py\" 836)) (((Some (\"contracts/CToken.py\" 837)) set_type (None parameter) \"address\") ((Some (\"contracts/CToken.py\" 943)) verify ((Some (\"contracts/CToken.py\" 943)) eq (None sender) ((Some (\"contracts/CToken.py\" 943)) attr ((Some (\"contracts/CToken.py\" 943)) storage) \"administrator\")) ((Some (\"contracts/CToken.py\" 943)) literal (string \"CT_NOT_ADMIN\"))) ((Some (\"contracts/CToken.py\" 839)) set ((Some (\"contracts/CToken.py\" 839)) attr ((Some (\"contracts/CToken.py\" 839)) storage) \"comptroller\") (None parameter)))) (setInterestRateModel True None None None True None (Some (\"contracts/CToken.py\" 849)) (((Some (\"contracts/CToken.py\" 850)) set_type (None parameter) \"address\") ((Some (\"contracts/CToken.py\" 943)) verify ((Some (\"contracts/CToken.py\" 943)) eq (None sender) ((Some (\"contracts/CToken.py\" 943)) attr ((Some (\"contracts/CToken.py\" 943)) storage) \"administrator\")) ((Some (\"contracts/CToken.py\" 943)) literal (string \"CT_NOT_ADMIN\"))) ((Some (\"contracts/utils/OperationProtector.py\" 40)) verify ((Some (\"contracts/utils/OperationProtector.py\" 40)) eq ((Some (\"contracts/utils/OperationProtector.py\" 40)) size ((Some (\"contracts/utils/OperationProtector.py\" 40)) attr ((Some (\"contracts/utils/OperationProtector.py\" 40)) storage) \"activeOperations\")) ((Some (\"contracts/utils/OperationProtector.py\" 40)) literal (intOrNat 0))) ((Some (\"contracts/utils/OperationProtector.py\" 40)) literal (string \"OP_IN_PROGRESS\"))) ((Some (\"contracts/utils/OperationProtector.py\" 46)) update_set ((Some (\"contracts/utils/OperationProtector.py\" 46)) attr ((Some (\"contracts/utils/OperationProtector.py\" 46)) storage) \"activeOperations\") ((Some (\"contracts/utils/OperationProtector.py\" 18)) literal (nat 9)) True) ((Some (\"contracts/CToken.py\" 853)) set ((Some (\"contracts/CToken.py\" 853)) operations) ((Some (\"contracts/CToken.py\" 853)) cons ((Some (\"contracts/CToken.py\" 853)) transfer (None literal (unit)) ((Some (\"contracts/CToken.py\" 853)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 854)) self \"accrueInterest\")) ((Some (\"contracts/CToken.py\" 853)) operations))) ((Some (\"contracts/CToken.py\" 855)) set ((Some (\"contracts/CToken.py\" 855)) operations) ((Some (\"contracts/CToken.py\" 855)) cons ((Some (\"contracts/CToken.py\" 855)) transfer (None parameter) ((Some (\"contracts/CToken.py\" 855)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 856)) self \"setInterestRateModelInternal\")) ((Some (\"contracts/CToken.py\" 855)) operations))))) (setInterestRateModelInternal True (Some True) None None True None (Some (\"contracts/CToken.py\" 859)) (((Some (\"contracts/CToken.py\" 860)) set_type (None parameter) \"address\") ((Some (\"contracts/CToken.py\" 952)) verify ((Some (\"contracts/CToken.py\" 952)) eq (None sender) (None self_address)) ((Some (\"contracts/CToken.py\" 952)) literal (string \"CT_INTERNAL_FUNCTION\"))) ((Some (\"contracts/utils/OperationProtector.py\" 43)) verify ((Some (\"contracts/utils/OperationProtector.py\" 43)) contains ((Some (\"contracts/utils/OperationProtector.py\" 43)) attr ((Some (\"contracts/utils/OperationProtector.py\" 43)) storage) \"activeOperations\") ((Some (\"contracts/utils/OperationProtector.py\" 18)) literal (nat 9))) ((Some (\"contracts/utils/OperationProtector.py\" 43)) literal (string \"OP_NOT_ACTIVE\"))) ((Some (\"contracts/utils/OperationProtector.py\" 49)) update_set ((Some (\"contracts/utils/OperationProtector.py\" 49)) attr ((Some (\"contracts/utils/OperationProtector.py\" 49)) storage) \"activeOperations\") ((Some (\"contracts/utils/OperationProtector.py\" 18)) literal (nat 9)) False) ((Some (\"contracts/CToken.py\" 863)) set ((Some (\"contracts/CToken.py\" 863)) attr ((Some (\"contracts/CToken.py\" 863)) storage) \"interestRateModel\") (None parameter)))) (setPendingGovernance True (Some True) None None True None (Some (\"contracts/CToken.py\" 783)) (((Some (\"contracts/CToken.py\" 784)) set_type (None parameter) \"address\") ((Some (\"contracts/CToken.py\" 943)) verify ((Some (\"contracts/CToken.py\" 943)) eq (None sender) ((Some (\"contracts/CToken.py\" 943)) attr ((Some (\"contracts/CToken.py\" 943)) storage) \"administrator\")) ((Some (\"contracts/CToken.py\" 943)) literal (string \"CT_NOT_ADMIN\"))) ((Some (\"contracts/CToken.py\" 786)) set ((Some (\"contracts/CToken.py\" 786)) attr ((Some (\"contracts/CToken.py\" 786)) storage) \"pendingAdministrator\") ((Some (\"contracts/CToken.py\" 786)) variant \"Some\" (None parameter))))) (setReserveFactor True None None None True None (Some (\"contracts/CToken.py\" 873)) (((Some (\"contracts/CToken.py\" 874)) set_type (None parameter) \"nat\") ((Some (\"contracts/CToken.py\" 943)) verify ((Some (\"contracts/CToken.py\" 943)) eq (None sender) ((Some (\"contracts/CToken.py\" 943)) attr ((Some (\"contracts/CToken.py\" 943)) storage) \"administrator\")) ((Some (\"contracts/CToken.py\" 943)) literal (string \"CT_NOT_ADMIN\"))) ((Some (\"contracts/utils/OperationProtector.py\" 40)) verify ((Some (\"contracts/utils/OperationProtector.py\" 40)) eq ((Some (\"contracts/utils/OperationProtector.py\" 40)) size ((Some (\"contracts/utils/OperationProtector.py\" 40)) attr ((Some (\"contracts/utils/OperationProtector.py\" 40)) storage) \"activeOperations\")) ((Some (\"contracts/utils/OperationProtector.py\" 40)) literal (intOrNat 0))) ((Some (\"contracts/utils/OperationProtector.py\" 40)) literal (string \"OP_IN_PROGRESS\"))) ((Some (\"contracts/utils/OperationProtector.py\" 46)) update_set ((Some (\"contracts/utils/OperationProtector.py\" 46)) attr ((Some (\"contracts/utils/OperationProtector.py\" 46)) storage) \"activeOperations\") ((Some (\"contracts/utils/OperationProtector.py\" 19)) literal (nat 10)) True) ((Some (\"contracts/CToken.py\" 877)) set ((Some (\"contracts/CToken.py\" 877)) operations) ((Some (\"contracts/CToken.py\" 877)) cons ((Some (\"contracts/CToken.py\" 877)) transfer (None literal (unit)) ((Some (\"contracts/CToken.py\" 877)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 878)) self \"accrueInterest\")) ((Some (\"contracts/CToken.py\" 877)) operations))) ((Some (\"contracts/CToken.py\" 879)) set ((Some (\"contracts/CToken.py\" 879)) operations) ((Some (\"contracts/CToken.py\" 879)) cons ((Some (\"contracts/CToken.py\" 879)) transfer (None parameter) ((Some (\"contracts/CToken.py\" 879)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 880)) self \"setReserveFactorInternal\")) ((Some (\"contracts/CToken.py\" 879)) operations))))) (setReserveFactorInternal True (Some True) None None True None (Some (\"contracts/CToken.py\" 883)) (((Some (\"contracts/CToken.py\" 952)) verify ((Some (\"contracts/CToken.py\" 952)) eq (None sender) (None self_address)) ((Some (\"contracts/CToken.py\" 952)) literal (string \"CT_INTERNAL_FUNCTION\"))) ((Some (\"contracts/utils/OperationProtector.py\" 43)) verify ((Some (\"contracts/utils/OperationProtector.py\" 43)) contains ((Some (\"contracts/utils/OperationProtector.py\" 43)) attr ((Some (\"contracts/utils/OperationProtector.py\" 43)) storage) \"activeOperations\") ((Some (\"contracts/utils/OperationProtector.py\" 19)) literal (nat 10))) ((Some (\"contracts/utils/OperationProtector.py\" 43)) literal (string \"OP_NOT_ACTIVE\"))) ((Some (\"contracts/utils/OperationProtector.py\" 49)) update_set ((Some (\"contracts/utils/OperationProtector.py\" 49)) attr ((Some (\"contracts/utils/OperationProtector.py\" 49)) storage) \"activeOperations\") ((Some (\"contracts/utils/OperationProtector.py\" 19)) literal (nat 10)) False) ((Some (\"contracts/CToken.py\" 949)) verify ((Some (\"contracts/CToken.py\" 949)) eq (None level) ((Some (\"contracts/CToken.py\" 949)) attr ((Some (\"contracts/CToken.py\" 949)) storage) \"accrualBlockNumber\")) ((Some (\"contracts/CToken.py\" 949)) literal (string \"CT_INTEREST_OLD\"))) ((Some (\"contracts/CToken.py\" 887)) verify ((Some (\"contracts/CToken.py\" 887)) le (None parameter) ((Some (\"contracts/CToken.py\" 887)) attr ((Some (\"contracts/CToken.py\" 887)) storage) \"reserveFactorMaxMantissa\")) ((Some (\"contracts/CToken.py\" 887)) literal (string \"CT_INVALID_RESERVE_FACTOR\"))) ((Some (\"contracts/CToken.py\" 889)) set ((Some (\"contracts/CToken.py\" 889)) attr ((Some (\"contracts/CToken.py\" 889)) storage) \"reserveFactorMantissa\") (None parameter)))) (sweepFA12 True None None None True None (Some (\"contracts/utils/SweepTokens.py\" 35)) (((Some (\"contracts/utils/SweepTokens.py\" 36)) set_type (None parameter) (record ((amount \"nat\") (tokenAddress \"address\")) Variable (Some (\"contracts/utils/SweepTokens.py\" 36)))) ((Some (\"contracts/utils/TransferTokens.py\" 19)) set ((Some (\"contracts/utils/TransferTokens.py\" 19)) operations) ((Some (\"contracts/utils/TransferTokens.py\" 19)) cons ((Some (\"contracts/utils/TransferTokens.py\" 19)) transfer ((Some (\"contracts/utils/TransferTokens.py\" 6)) record (from_ (None self_address)) (to_ ((Some (\"contracts/utils/SweepTokens.py\" 39)) attr ((Some (\"contracts/utils/SweepTokens.py\" 39)) storage) \"administrator\")) (value ((Some (\"contracts/utils/SweepTokens.py\" 40)) attr (None parameter) \"amount\"))) ((Some (\"contracts/utils/TransferTokens.py\" 19)) literal (mutez 0)) ((Some (\"contracts/utils/TransferTokens.py\" 17)) open_variant ((Some (\"contracts/utils/TransferTokens.py\" 12)) contract \"transfer\" (record ((from_ \"address\") (to_ \"address\") (value \"nat\")) (Value ((\"from_ as from\") ((\"to_ as to\") (\"value\")))) (Some (\"contracts/utils/TransferTokens.py\" 13))) ((Some (\"contracts/utils/SweepTokens.py\" 38)) attr (None parameter) \"tokenAddress\")) \"Some\" \"None\")) ((Some (\"contracts/utils/TransferTokens.py\" 19)) operations))))) (sweepFA2 True None None None True None (Some (\"contracts/utils/SweepTokens.py\" 51)) (((Some (\"contracts/utils/SweepTokens.py\" 52)) set_type (None parameter) (record ((amount \"nat\") (id \"nat\") (tokenAddress \"address\")) Variable (Some (\"contracts/utils/SweepTokens.py\" 52)))) ((Some (\"contracts/utils/TransferTokens.py\" 45)) set ((Some (\"contracts/utils/TransferTokens.py\" 45)) operations) ((Some (\"contracts/utils/TransferTokens.py\" 45)) cons ((Some (\"contracts/utils/TransferTokens.py\" 45)) transfer ((Some (\"contracts/utils/TransferTokens.py\" 45)) list ((Some (\"contracts/utils/TransferTokens.py\" 26)) record (from_ (None self_address)) (txs ((Some (\"contracts/utils/TransferTokens.py\" 26)) list ((Some (\"contracts/utils/TransferTokens.py\" 29)) record (amount ((Some (\"contracts/utils/SweepTokens.py\" 56)) attr (None parameter) \"amount\")) (to_ ((Some (\"contracts/utils/SweepTokens.py\" 55)) attr ((Some (\"contracts/utils/SweepTokens.py\" 55)) storage) \"administrator\")) (token_id ((Some (\"contracts/utils/SweepTokens.py\" 54)) attr (None parameter) \"id\"))))))) ((Some (\"contracts/utils/TransferTokens.py\" 45)) literal (mutez 0)) ((Some (\"contracts/utils/TransferTokens.py\" 43)) open_variant ((Some (\"contracts/utils/TransferTokens.py\" 38)) contract \"transfer\" (list (record ((from_ \"address\") (txs (list (record ((amount \"nat\") (to_ \"address\") (token_id \"nat\")) (Value ((\"to_\") ((\"token_id\") (\"amount\")))) (Some (\"contracts/utils/TransferTokens.py\" 22)))))) (Value ((\"from_\") (\"txs\"))) (Some (\"contracts/utils/TransferTokens.py\" 40)))) ((Some (\"contracts/utils/SweepTokens.py\" 54)) attr (None parameter) \"tokenAddress\")) \"Some\" \"None\")) ((Some (\"contracts/utils/TransferTokens.py\" 45)) operations))))) (sweepMutez True None None None True None (Some (\"contracts/utils/SweepTokens.py\" 16)) (((Some (\"contracts/utils/SweepTokens.py\" 17)) set_type (None parameter) \"bool\") ((Some (\"contracts/utils/SweepTokens.py\" 19)) if_block (None parameter) (((Some (\"contracts/utils/SweepTokens.py\" 22)) set ((Some (\"contracts/utils/SweepTokens.py\" 22)) operations) ((Some (\"contracts/utils/SweepTokens.py\" 22)) cons ((Some (\"contracts/utils/SweepTokens.py\" 22)) transfer (None literal (unit)) (None balance) ((Some (\"contracts/utils/SweepTokens.py\" 21)) open_variant ((Some (\"contracts/utils/SweepTokens.py\" 20)) contract \"receive\" \"unit\" ((Some (\"contracts/utils/SweepTokens.py\" 21)) attr ((Some (\"contracts/utils/SweepTokens.py\" 21)) storage) \"administrator\")) \"Some\" \"None\")) ((Some (\"contracts/utils/SweepTokens.py\" 22)) operations))))) (else_block (((Some (\"contracts/utils/SweepTokens.py\" 24)) set ((Some (\"contracts/utils/SweepTokens.py\" 24)) operations) ((Some (\"contracts/utils/SweepTokens.py\" 24)) cons ((Some (\"contracts/utils/SweepTokens.py\" 24)) transfer (None literal (unit)) (None balance) ((Some (\"contracts/utils/SweepTokens.py\" 24)) open_variant ((Some (\"contracts/utils/SweepTokens.py\" 24)) contract \"\" \"unit\" ((Some (\"contracts/utils/SweepTokens.py\" 24)) attr ((Some (\"contracts/utils/SweepTokens.py\" 24)) storage) \"administrator\")) \"Some\" \"None\")) ((Some (\"contracts/utils/SweepTokens.py\" 24)) operations))))))) (transfer True None None None True None (Some (\"contracts/CToken.py\" 400)) (((Some (\"contracts/CToken.py\" 401)) set_type (None parameter) (record ((from_ \"address\") (to_ \"address\") (value \"nat\")) (Value ((\"from_ as from\") ((\"to_ as to\") (\"value\")))) (Some (\"contracts/CToken.py\" 402)))) ((Some (\"contracts/CToken.py\" 403)) verify ((Some (\"contracts/CToken.py\" 403)) or ((Some (\"contracts/CToken.py\" 403)) eq ((Some (\"contracts/CToken.py\" 403)) attr (None parameter) \"from_\") (None sender)) ((Some (\"contracts/CToken.py\" 404)) ge ((Some (\"contracts/CToken.py\" 404)) get_item ((Some (\"contracts/CToken.py\" 404)) attr ((Some (\"contracts/CToken.py\" 404)) get_item ((Some (\"contracts/CToken.py\" 404)) attr ((Some (\"contracts/CToken.py\" 404)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 403)) attr (None parameter) \"from_\")) \"approvals\") (None sender)) ((Some (\"contracts/CToken.py\" 404)) attr (None parameter) \"value\"))) ((Some (\"contracts/CToken.py\" 403)) literal (string \"FA1.2_NotAllowed\"))) ((Some (\"contracts/CToken.py\" 955)) verify ((Some (\"contracts/CToken.py\" 955)) neq (None sender) (None self_address)) ((Some (\"contracts/CToken.py\" 955)) literal (string \"CT_INTERNAL_CALL\"))) ((Some (\"contracts/CToken.py\" 433)) if_block ((Some (\"contracts/CToken.py\" 433)) not ((Some (\"contracts/CToken.py\" 433)) contains ((Some (\"contracts/CToken.py\" 433)) attr ((Some (\"contracts/CToken.py\" 433)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 406)) attr (None parameter) \"to_\"))) (((Some (\"contracts/CToken.py\" 434)) set ((Some (\"contracts/CToken.py\" 434)) get_item ((Some (\"contracts/CToken.py\" 434)) attr ((Some (\"contracts/CToken.py\" 434)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 406)) attr (None parameter) \"to_\")) ((Some (\"contracts/CToken.py\" 434)) record (approvals ((Some (\"contracts/CToken.py\" 434)) map )) (balance ((Some (\"contracts/CToken.py\" 434)) literal (nat 0))))))) ((Some (\"contracts/CToken.py\" 436)) if_block ((Some (\"contracts/CToken.py\" 436)) not ((Some (\"contracts/CToken.py\" 436)) contains ((Some (\"contracts/CToken.py\" 436)) attr ((Some (\"contracts/CToken.py\" 436)) storage) \"borrows\") ((Some (\"contracts/CToken.py\" 406)) attr (None parameter) \"to_\"))) (((Some (\"contracts/CToken.py\" 437)) set ((Some (\"contracts/CToken.py\" 437)) get_item ((Some (\"contracts/CToken.py\" 437)) attr ((Some (\"contracts/CToken.py\" 437)) storage) \"borrows\") ((Some (\"contracts/CToken.py\" 406)) attr (None parameter) \"to_\")) ((Some (\"contracts/CToken.py\" 437)) record (interestIndex ((Some (\"contracts/CToken.py\" 438)) literal (nat 0))) (principal ((Some (\"contracts/CToken.py\" 438)) literal (nat 0))))))) ((Some (\"contracts/CToken.py\" 430)) set ((Some (\"contracts/CToken.py\" 430)) operations) ((Some (\"contracts/CToken.py\" 430)) cons ((Some (\"contracts/CToken.py\" 430)) transfer ((Some (\"contracts/CToken.py\" 428)) record (cToken (None self_address)) (dst ((Some (\"contracts/CToken.py\" 406)) attr (None parameter) \"to_\")) (src ((Some (\"contracts/CToken.py\" 403)) attr (None parameter) \"from_\")) (transferTokens ((Some (\"contracts/CToken.py\" 404)) attr (None parameter) \"value\"))) ((Some (\"contracts/CToken.py\" 430)) literal (mutez 0)) ((Some (\"contracts/CToken.py\" 427)) open_variant ((Some (\"contracts/CToken.py\" 426)) contract \"transferAllowed\" (record ((cToken \"address\") (dst \"address\") (src \"address\") (transferTokens \"nat\")) (Value (((\"cToken\") (\"src\")) ((\"dst\") (\"transferTokens\")))) (Some (\"contracts/interfaces/ComptrollerInterface.py\" 16))) ((Some (\"contracts/CToken.py\" 426)) attr ((Some (\"contracts/CToken.py\" 426)) storage) \"comptroller\")) \"Some\" \"None\")) ((Some (\"contracts/CToken.py\" 430)) operations))) ((Some (\"contracts/CToken.py\" 411)) set_type ((Some (\"contracts/CToken.py\" 407)) record (from_ ((Some (\"contracts/CToken.py\" 403)) attr (None parameter) \"from_\")) (sender (None sender)) (to_ ((Some (\"contracts/CToken.py\" 406)) attr (None parameter) \"to_\")) (value ((Some (\"contracts/CToken.py\" 404)) attr (None parameter) \"value\"))) (record ((from_ \"address\") (sender \"address\") (to_ \"address\") (value \"nat\")) Variable (Some (\"contracts/CToken.py\" 411)))) ((Some (\"contracts/CToken.py\" 413)) verify ((Some (\"contracts/CToken.py\" 413)) ge ((Some (\"contracts/CToken.py\" 413)) attr ((Some (\"contracts/CToken.py\" 413)) get_item ((Some (\"contracts/CToken.py\" 413)) attr ((Some (\"contracts/CToken.py\" 413)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 403)) attr (None parameter) \"from_\")) \"balance\") ((Some (\"contracts/CToken.py\" 404)) attr (None parameter) \"value\")) ((Some (\"contracts/CToken.py\" 413)) literal (string \"FA1.2_InsufficientBalance\"))) ((Some (\"contracts/CToken.py\" 415)) set ((Some (\"contracts/CToken.py\" 415)) attr ((Some (\"contracts/CToken.py\" 415)) get_item ((Some (\"contracts/CToken.py\" 415)) attr ((Some (\"contracts/CToken.py\" 415)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 403)) attr (None parameter) \"from_\")) \"balance\") ((Some (\"contracts/CToken.py\" 415)) open_variant ((Some (\"contracts/CToken.py\" 415)) is_nat ((Some (\"contracts/CToken.py\" 416)) sub ((Some (\"contracts/CToken.py\" 416)) attr ((Some (\"contracts/CToken.py\" 416)) get_item ((Some (\"contracts/CToken.py\" 416)) attr ((Some (\"contracts/CToken.py\" 416)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 403)) attr (None parameter) \"from_\")) \"balance\") ((Some (\"contracts/CToken.py\" 404)) attr (None parameter) \"value\"))) \"Some\" \"None\")) ((Some (\"contracts/CToken.py\" 417)) set ((Some (\"contracts/CToken.py\" 417)) attr ((Some (\"contracts/CToken.py\" 417)) get_item ((Some (\"contracts/CToken.py\" 417)) attr ((Some (\"contracts/CToken.py\" 417)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 406)) attr (None parameter) \"to_\")) \"balance\") ((Some (\"contracts/CToken.py\" 417)) add ((Some (\"contracts/CToken.py\" 417)) attr ((Some (\"contracts/CToken.py\" 417)) get_item ((Some (\"contracts/CToken.py\" 417)) attr ((Some (\"contracts/CToken.py\" 417)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 406)) attr (None parameter) \"to_\")) \"balance\") ((Some (\"contracts/CToken.py\" 404)) attr (None parameter) \"value\"))) ((Some (\"contracts/CToken.py\" 418)) if_block ((Some (\"contracts/CToken.py\" 418)) neq ((Some (\"contracts/CToken.py\" 403)) attr (None parameter) \"from_\") (None sender)) (((Some (\"contracts/CToken.py\" 419)) set ((Some (\"contracts/CToken.py\" 419)) get_item ((Some (\"contracts/CToken.py\" 419)) attr ((Some (\"contracts/CToken.py\" 419)) get_item ((Some (\"contracts/CToken.py\" 419)) attr ((Some (\"contracts/CToken.py\" 419)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 403)) attr (None parameter) \"from_\")) \"approvals\") (None sender)) ((Some (\"contracts/CToken.py\" 419)) open_variant ((Some (\"contracts/CToken.py\" 419)) is_nat ((Some (\"contracts/CToken.py\" 420)) sub ((Some (\"contracts/CToken.py\" 420)) get_item ((Some (\"contracts/CToken.py\" 420)) attr ((Some (\"contracts/CToken.py\" 420)) get_item ((Some (\"contracts/CToken.py\" 420)) attr ((Some (\"contracts/CToken.py\" 420)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 403)) attr (None parameter) \"from_\")) \"approvals\") (None sender)) ((Some (\"contracts/CToken.py\" 404)) attr (None parameter) \"value\"))) \"Some\" \"None\")) ((Some (\"contracts/CToken.py\" 421)) if_block ((Some (\"contracts/CToken.py\" 421)) eq ((Some (\"contracts/CToken.py\" 421)) get_item ((Some (\"contracts/CToken.py\" 421)) attr ((Some (\"contracts/CToken.py\" 421)) get_item ((Some (\"contracts/CToken.py\" 421)) attr ((Some (\"contracts/CToken.py\" 421)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 403)) attr (None parameter) \"from_\")) \"approvals\") (None sender)) ((Some (\"contracts/CToken.py\" 421)) literal (intOrNat 0))) (((Some (\"contracts/CToken.py\" 422)) del_item ((Some (\"contracts/CToken.py\" 422)) attr ((Some (\"contracts/CToken.py\" 422)) get_item ((Some (\"contracts/CToken.py\" 422)) attr ((Some (\"contracts/CToken.py\" 422)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 403)) attr (None parameter) \"from_\")) \"approvals\") (None sender)))))))) (updateAccountSnapshot True None None None True None (Some (\"./contracts/tests/CTokenTest.py\" 25)) (((Some (\"./contracts/tests/CTokenTest.py\" 26)) set ((Some (\"./contracts/tests/CTokenTest.py\" 26)) operations) ((Some (\"./contracts/tests/CTokenTest.py\" 26)) cons ((Some (\"./contracts/tests/CTokenTest.py\" 26)) transfer ((Some (\"./contracts/tests/CTokenTest.py\" 26)) tuple (None parameter) ((Some (\"./contracts/tests/CTokenTest.py\" 26)) self \"setAccountSnapshot\")) ((Some (\"./contracts/tests/CTokenTest.py\" 26)) literal (mutez 0)) ((Some (\"./contracts/tests/CTokenTest.py\" 26)) self \"getAccountSnapshot\")) ((Some (\"./contracts/tests/CTokenTest.py\" 26)) operations))))) (updateMetadata True None None None True None (Some (\"contracts/CToken.py\" 473)) (((Some (\"contracts/CToken.py\" 474)) set_type (None parameter) (record ((key \"string\") (value \"bytes\")) Variable (Some (\"contracts/CToken.py\" 474)))) ((Some (\"contracts/CToken.py\" 943)) verify ((Some (\"contracts/CToken.py\" 943)) eq (None sender) ((Some (\"contracts/CToken.py\" 943)) attr ((Some (\"contracts/CToken.py\" 943)) storage) \"administrator\")) ((Some (\"contracts/CToken.py\" 943)) literal (string \"CT_NOT_ADMIN\"))) ((Some (\"contracts/CToken.py\" 476)) set ((Some (\"contracts/CToken.py\" 476)) get_item ((Some (\"contracts/CToken.py\" 476)) attr ((Some (\"contracts/CToken.py\" 476)) storage) \"metadata\") ((Some (\"contracts/CToken.py\" 476)) attr (None parameter) \"key\")) ((Some (\"contracts/CToken.py\" 476)) attr (None parameter) \"value\")))) (updateProtocolSeizeShare True (Some True) None None True None (Some (\"contracts/CToken.py\" 794)) (((Some (\"contracts/CToken.py\" 795)) set_type (None parameter) \"nat\") ((Some (\"contracts/CToken.py\" 943)) verify ((Some (\"contracts/CToken.py\" 943)) eq (None sender) ((Some (\"contracts/CToken.py\" 943)) attr ((Some (\"contracts/CToken.py\" 943)) storage) \"administrator\")) ((Some (\"contracts/CToken.py\" 943)) literal (string \"CT_NOT_ADMIN\"))) ((Some (\"contracts/CToken.py\" 797)) set ((Some (\"contracts/CToken.py\" 797)) attr ((Some (\"contracts/CToken.py\" 797)) storage) \"protocolSeizeShareMantissa\") (None parameter)))))\nflags ()\nprivates ()\nviews ((onchain accrualBlockNumber True (Some (\"contracts/CToken.py\" 684)) False \"\" (((Some (\"contracts/CToken.py\" 685)) set_type ((Some (\"contracts/CToken.py\" 684)) parameter) \"unit\") ((Some (\"contracts/CToken.py\" 686)) result ((Some (\"contracts/CToken.py\" 686)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"accrualBlockNumber\")))) (onchain balanceOf True (Some (\"contracts/CToken.py\" 500)) False \"\" (((Some (\"contracts/CToken.py\" 501)) define_local \"result\" ((Some (\"contracts/CToken.py\" 501)) literal (intOrNat 0)) True) ((Some (\"contracts/CToken.py\" 502)) if_block ((Some (\"contracts/CToken.py\" 502)) contains ((Some (\"contracts/CToken.py\" 502)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 500)) parameter)) (((Some (\"contracts/CToken.py\" 503)) set ((Some (\"contracts/CToken.py\" 503)) var \"result\") ((Some (\"contracts/CToken.py\" 503)) attr ((Some (\"contracts/CToken.py\" 503)) get_item ((Some (\"contracts/CToken.py\" 502)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 500)) parameter)) \"balance\")))) ((Some (\"contracts/CToken.py\" 504)) result ((Some (\"contracts/CToken.py\" 504)) var \"result\")))) (onchain borrowBalanceStoredView True (Some (\"contracts/CToken.py\" 620)) False \"\" (((Some (\"contracts/CToken.py\" 621)) set_type ((Some (\"contracts/CToken.py\" 620)) parameter) \"address\") ((Some (\"contracts/CToken.py\" 625)) define_local \"borrowBalance\" ((Some (\"contracts/CToken.py\" 625)) literal (nat 0)) True) ((Some (\"contracts/CToken.py\" 626)) if_block ((Some (\"contracts/CToken.py\" 626)) contains ((Some (\"contracts/CToken.py\" 626)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"borrows\") ((Some (\"contracts/CToken.py\" 620)) parameter)) (((Some (\"contracts/CToken.py\" 627)) define_local \"borrowSnapshot\" ((Some (\"contracts/CToken.py\" 628)) get_item ((Some (\"contracts/CToken.py\" 626)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"borrows\") ((Some (\"contracts/CToken.py\" 620)) parameter)) True) ((Some (\"contracts/CToken.py\" 629)) if_block ((Some (\"contracts/CToken.py\" 629)) gt ((Some (\"contracts/CToken.py\" 629)) attr ((Some (\"contracts/CToken.py\" 629)) var \"borrowSnapshot\") \"principal\") ((Some (\"contracts/CToken.py\" 629)) literal (intOrNat 0))) (((Some (\"contracts/CToken.py\" 631)) set ((Some (\"contracts/CToken.py\" 631)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 631)) div ((Some (\"contracts/CToken.py\" 630)) mul_homo ((Some (\"contracts/CToken.py\" 630)) attr ((Some (\"contracts/CToken.py\" 630)) var \"borrowSnapshot\") \"principal\") ((Some (\"contracts/CToken.py\" 630)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"borrowIndex\")) ((Some (\"contracts/CToken.py\" 631)) attr ((Some (\"contracts/CToken.py\" 631)) var \"borrowSnapshot\") \"interestIndex\"))))))) ((Some (\"contracts/CToken.py\" 622)) result ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\")))) (onchain comptroller True (Some (\"contracts/CToken.py\" 679)) False \"\" (((Some (\"contracts/CToken.py\" 680)) set_type ((Some (\"contracts/CToken.py\" 679)) parameter) \"unit\") ((Some (\"contracts/CToken.py\" 681)) result ((Some (\"contracts/CToken.py\" 681)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"comptroller\")))) (onchain exchangeRateStoredView True (Some (\"contracts/CToken.py\" 660)) False \"\" (((Some (\"contracts/CToken.py\" 661)) set_type ((Some (\"contracts/CToken.py\" 660)) parameter) \"unit\") ((Some (\"contracts/CToken.py\" 668)) define_local \"excRate\" ((Some (\"contracts/CToken.py\" 668)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"initialExchangeRateMantissa\") True) ((Some (\"contracts/CToken.py\" 669)) if_block ((Some (\"contracts/CToken.py\" 669)) gt ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\") ((Some (\"contracts/CToken.py\" 669)) literal (intOrNat 0))) (((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 47)) set_type ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalReserves\"))) \"Some\" \"None\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"expScale\")) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 254)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"expScale\")))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 255)) set_type ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 256)) verify ((Some (\"contracts/utils/Exponential.py\" 256)) gt ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\") ((Some (\"contracts/utils/Exponential.py\" 256)) literal (intOrNat 0))) ((Some (\"contracts/utils/Exponential.py\" 256)) literal (string \"DIVISION_BY_ZERO\"))) ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\")) \"nat\") ((Some (\"contracts/CToken.py\" 675)) set ((Some (\"contracts/CToken.py\" 675)) var \"excRate\") ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\"))))) ((Some (\"contracts/CToken.py\" 662)) result ((Some (\"contracts/CToken.py\" 676)) var \"excRate\")))) (onchain getAccountSnapshotView True (Some (\"contracts/CToken.py\" 593)) False \"\" (((Some (\"contracts/CToken.py\" 565)) define_local \"compute_CToken_565\" ((Some (\"contracts/CToken.py\" 565)) record (account ((Some (\"contracts/CToken.py\" 593)) parameter)) (borrowBalance ((Some (\"contracts/CToken.py\" 568)) literal (nat 0))) (cTokenBalance ((Some (\"contracts/CToken.py\" 567)) literal (nat 0))) (exchangeRateMantissa ((Some (\"contracts/CToken.py\" 569)) literal (nat 0)))) True) ((Some (\"contracts/CToken.py\" 571)) if_block ((Some (\"contracts/CToken.py\" 571)) contains ((Some (\"contracts/CToken.py\" 571)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 593)) parameter)) (((Some (\"contracts/CToken.py\" 949)) verify ((Some (\"contracts/CToken.py\" 949)) eq (None level) ((Some (\"contracts/CToken.py\" 949)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"accrualBlockNumber\")) ((Some (\"contracts/CToken.py\" 949)) literal (string \"CT_INTEREST_OLD\"))) ((Some (\"contracts/CToken.py\" 573)) set ((Some (\"contracts/CToken.py\" 573)) attr ((Some (\"contracts/CToken.py\" 565)) var \"compute_CToken_565\") \"cTokenBalance\") ((Some (\"contracts/CToken.py\" 573)) attr ((Some (\"contracts/CToken.py\" 573)) get_item ((Some (\"contracts/CToken.py\" 571)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"ledger\") ((Some (\"contracts/CToken.py\" 593)) parameter)) \"balance\")) ((Some (\"contracts/CToken.py\" 625)) define_local \"borrowBalance\" ((Some (\"contracts/CToken.py\" 625)) literal (nat 0)) True) ((Some (\"contracts/CToken.py\" 626)) if_block ((Some (\"contracts/CToken.py\" 626)) contains ((Some (\"contracts/CToken.py\" 626)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"borrows\") ((Some (\"contracts/CToken.py\" 593)) parameter)) (((Some (\"contracts/CToken.py\" 627)) define_local \"borrowSnapshot\" ((Some (\"contracts/CToken.py\" 628)) get_item ((Some (\"contracts/CToken.py\" 626)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"borrows\") ((Some (\"contracts/CToken.py\" 593)) parameter)) True) ((Some (\"contracts/CToken.py\" 629)) if_block ((Some (\"contracts/CToken.py\" 629)) gt ((Some (\"contracts/CToken.py\" 629)) attr ((Some (\"contracts/CToken.py\" 629)) var \"borrowSnapshot\") \"principal\") ((Some (\"contracts/CToken.py\" 629)) literal (intOrNat 0))) (((Some (\"contracts/CToken.py\" 631)) set ((Some (\"contracts/CToken.py\" 631)) var \"borrowBalance\") ((Some (\"contracts/CToken.py\" 631)) div ((Some (\"contracts/CToken.py\" 630)) mul_homo ((Some (\"contracts/CToken.py\" 630)) attr ((Some (\"contracts/CToken.py\" 630)) var \"borrowSnapshot\") \"principal\") ((Some (\"contracts/CToken.py\" 630)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"borrowIndex\")) ((Some (\"contracts/CToken.py\" 631)) attr ((Some (\"contracts/CToken.py\" 631)) var \"borrowSnapshot\") \"interestIndex\"))))))) ((Some (\"contracts/CToken.py\" 574)) set ((Some (\"contracts/CToken.py\" 574)) attr ((Some (\"contracts/CToken.py\" 565)) var \"compute_CToken_565\") \"borrowBalance\") ((Some (\"contracts/CToken.py\" 632)) var \"borrowBalance\")) ((Some (\"contracts/CToken.py\" 668)) define_local \"excRate\" ((Some (\"contracts/CToken.py\" 668)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"initialExchangeRateMantissa\") True) ((Some (\"contracts/CToken.py\" 669)) if_block ((Some (\"contracts/CToken.py\" 669)) gt ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\") ((Some (\"contracts/CToken.py\" 669)) literal (intOrNat 0))) (((Some (\"contracts/utils/Exponential.py\" 193)) set_type ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 194)) set_type ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 47)) set_type ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalReserves\"))) \"Some\" \"None\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"expScale\")) \"nat\") ((Some (\"contracts/utils/Exponential.py\" 254)) set_type ((Some (\"contracts/utils/Exponential.py\" 35)) record (mantissa ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"expScale\")))) (record ((mantissa \"nat\")) Variable (Some (\"contracts/utils/Exponential.py\" 15)))) ((Some (\"contracts/utils/Exponential.py\" 255)) set_type ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\") \"nat\") ((Some (\"contracts/utils/Exponential.py\" 256)) verify ((Some (\"contracts/utils/Exponential.py\" 256)) gt ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\") ((Some (\"contracts/utils/Exponential.py\" 256)) literal (intOrNat 0))) ((Some (\"contracts/utils/Exponential.py\" 256)) literal (string \"DIVISION_BY_ZERO\"))) ((Some (\"contracts/utils/Exponential.py\" 34)) set_type ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\")) \"nat\") ((Some (\"contracts/CToken.py\" 675)) set ((Some (\"contracts/CToken.py\" 675)) var \"excRate\") ((Some (\"contracts/utils/Exponential.py\" 257)) div ((Some (\"contracts/utils/Exponential.py\" 48)) mul_homo ((Some (\"contracts/CToken.py\" 671)) open_variant ((Some (\"contracts/CToken.py\" 671)) is_nat ((Some (\"contracts/CToken.py\" 672)) sub ((Some (\"contracts/CToken.py\" 672)) add ((Some (\"contracts/utils/Exponential.py\" 195)) open_variant ((Some (\"contracts/utils/Exponential.py\" 195)) is_nat ((Some (\"contracts/utils/Exponential.py\" 195)) sub ((Some (\"./contracts/tests/CTokenTest.py\" 19)) div ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\") ((Some (\"./contracts/tests/CTokenTest.py\" 19)) literal (nat 1000000))) ((Some (\"contracts/CToken.py\" 665)) literal (nat 0)))) \"Some\" ((Some (\"contracts/utils/Exponential.py\" 195)) literal (string \"SUBTRACTION_UNDERFLOW\"))) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalBorrows\")) ((Some (\"contracts/CToken.py\" 672)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalReserves\"))) \"Some\" \"None\") ((Some (\"contracts/utils/Exponential.py\" 48)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"expScale\")) ((Some (\"contracts/CToken.py\" 669)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 93)) storage) \"totalSupply\"))))) ((Some (\"contracts/CToken.py\" 575)) set ((Some (\"contracts/CToken.py\" 575)) attr ((Some (\"contracts/CToken.py\" 565)) var \"compute_CToken_565\") \"exchangeRateMantissa\") ((Some (\"contracts/CToken.py\" 676)) var \"excRate\")))) ((Some (\"contracts/CToken.py\" 594)) result ((Some (\"contracts/CToken.py\" 565)) var \"compute_CToken_565\")))))\nentrypoints_layout ()\ninitial_metadata ()\nbalance ())", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 93))", "show": true }, { "action": "html", - "inner": "Test sweep to account", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 44)", + "inner": "Try borrow when there is no cash", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 95))", + "tag": "h2" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 96))", + "message": "borrow", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 96)) literal (intOrNat 100))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 96)) literal (intOrNat 0))", + "sender": "seed:Alice", + "valid": "((Some (\"./contracts/tests/CTokenTest.py\" 96)) literal (bool False))" + }, + { + "action": "html", + "inner": "Test getAccountSnapshot for nonexistent account", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 98))", + "tag": "h2" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 99))", + "message": "updateAccountSnapshot", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 56)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 56)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 56)) account_of_seed \"Bob\") \"address\"))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 99)) literal (intOrNat 1))", + "sender": "seed:Bob" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 100)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 100)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 99)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"accCTokenBalance\") ((Some (\"./contracts/tests/CTokenTest.py\" 100)) literal (nat 0)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 100))" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 101)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 101)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 99)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"accBorrowBalance\") ((Some (\"./contracts/tests/CTokenTest.py\" 101)) literal (nat 0)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 101))" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 102)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 102)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 99)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"accExchangeRateMantissa\") ((Some (\"./contracts/tests/CTokenTest.py\" 102)) literal (nat 0)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 102))" + }, + { + "action": "html", + "inner": "Test mint", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 104))", "tag": "h2" }, { "action": "html", - "inner": "sweepFA12", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 45)", + "inner": "Mint allowed", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 105))", "tag": "h3" }, + { + "action": "html", + "inner": "call mint with old accrue interest", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 23))", + "tag": "h4" + }, { "action": "message", - "id": "(static_id 0 (\"contracts/tests/mock/FA12Mock.py\" 5))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 46)", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 24))", "message": "mint", - "params": "(record (\"contracts/tests/SweepTokensTest.py\" 46) (address (contract_address (static_id 1 (\"contracts/tests/SweepTokensTest.py\" 8)) \"\" (\"contracts/tests/SweepTokensTest.py\" 8))) (value (literal (intOrNat 1000) (\"contracts/tests/SweepTokensTest.py\" 46))))" + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 24)) literal (intOrNat 100))", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 24)) literal (intOrNat 2))", + "sender": "seed:Alice", + "valid": "((Some (\"contracts/tests/utils/DataRelevance.py\" 24)) literal (bool False))" + }, + { + "action": "html", + "inner": "call mint with relevant accrue interest", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 26))", + "tag": "h4" }, { "action": "message", - "id": "(static_id 1 (\"contracts/tests/SweepTokensTest.py\" 8))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 47)", - "message": "sweepFA12", - "params": "(record (\"contracts/tests/SweepTokensTest.py\" 47) (amount (literal (intOrNat 600) (\"contracts/tests/SweepTokensTest.py\" 47))) (tokenAddress (contract_address (static_id 0 (\"contracts/tests/mock/FA12Mock.py\" 5)) \"\" (\"contracts/tests/mock/FA12Mock.py\" 5))))" + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 3))", + "sender": "seed:Alice" }, { - "action": "verify", - "condition": "(eq (attr (getItem (attr (contract_data (static_id 0 (\"contracts/tests/mock/FA12Mock.py\" 5)) (\"contracts/tests/SweepTokensTest.py\" 46)) \"balances\" (\"contracts/tests/SweepTokensTest.py\" 48)) (contract_address (static_id 1 (\"contracts/tests/SweepTokensTest.py\" 8)) \"\" (\"contracts/tests/SweepTokensTest.py\" 8)) (\"contracts/tests/SweepTokensTest.py\" 48)) \"balance\" (\"contracts/tests/SweepTokensTest.py\" 48)) (literal (intOrNat 400) (\"contracts/tests/SweepTokensTest.py\" 48)) (\"contracts/tests/SweepTokensTest.py\" 48))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 48)" + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 28))", + "message": "mint", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 28)) literal (intOrNat 100))", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 28)) literal (intOrNat 3))", + "sender": "seed:Alice" }, { "action": "verify", - "condition": "(eq (attr (getItem (attr (contract_data (static_id 0 (\"contracts/tests/mock/FA12Mock.py\" 5)) (\"contracts/tests/SweepTokensTest.py\" 46)) \"balances\" (\"contracts/tests/SweepTokensTest.py\" 48)) (to_constant (attr (account_of_seed \"admin\" (\"contracts/tests/SweepTokensTest.py\" 29)) \"address\" (\"contracts/tests/SweepTokensTest.py\" 29)) (\"contracts/tests/SweepTokensTest.py\" 29)) (\"contracts/tests/SweepTokensTest.py\" 49)) \"balance\" (\"contracts/tests/SweepTokensTest.py\" 49)) (literal (intOrNat 600) (\"contracts/tests/SweepTokensTest.py\" 49)) (\"contracts/tests/SweepTokensTest.py\" 49))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 49)" + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 107)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 107)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 107)) get_item ((Some (\"./contracts/tests/CTokenTest.py\" 107)) attr ((Some (\"contracts/tests/utils/DataRelevance.py\" 28)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"ledger\") ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))) \"balance\") ((Some (\"./contracts/tests/CTokenTest.py\" 107)) literal (nat 100000000)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 107))" }, { "action": "html", - "inner": "sweepFA12 insufficient", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 51)", + "inner": "Mint not allowed", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 108))", "tag": "h3" }, { "action": "message", - "id": "(static_id 1 (\"contracts/tests/SweepTokensTest.py\" 8))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 52)", - "message": "sweepFA12", - "params": "(record (\"contracts/tests/SweepTokensTest.py\" 52) (amount (literal (intOrNat 600) (\"contracts/tests/SweepTokensTest.py\" 52))) (tokenAddress (contract_address (static_id 0 (\"contracts/tests/mock/FA12Mock.py\" 5)) \"\" (\"contracts/tests/mock/FA12Mock.py\" 5))))", - "valid": "(literal (bool False) (\"contracts/tests/SweepTokensTest.py\" 52))" + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 109))", + "message": "setMintAllowed", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 109)) literal (bool False))" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 4))", + "sender": "seed:Alice" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 111))", + "message": "mint", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 111)) literal (intOrNat 100))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 111)) literal (intOrNat 4))", + "sender": "seed:Alice", + "valid": "((Some (\"./contracts/tests/CTokenTest.py\" 111)) literal (bool False))" }, { "action": "html", - "inner": "sweepMutez", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 54)", + "inner": "Mint allowed again", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 112))", "tag": "h3" }, { "action": "message", - "id": "(static_id 1 (\"contracts/tests/SweepTokensTest.py\" 8))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 55)", - "message": "verifyMutezBalance", - "params": "(literal (intOrNat 100) (\"contracts/tests/SweepTokensTest.py\" 55))", - "amount": "(literal (mutez 100) (\"contracts/tests/SweepTokensTest.py\" 55))" + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 113))", + "message": "setMintAllowed", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 113)) literal (bool True))" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 5))", + "sender": "seed:Alice" }, { "action": "message", - "id": "(static_id 1 (\"contracts/tests/SweepTokensTest.py\" 8))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 56)", - "message": "sweepMutez", - "params": "(literal (bool False) (\"contracts/tests/SweepTokensTest.py\" 56))" + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 115))", + "message": "mint", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 115)) literal (intOrNat 1000))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 115)) literal (intOrNat 5))", + "sender": "seed:Bob" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 116)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 116)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 116)) get_item ((Some (\"./contracts/tests/CTokenTest.py\" 116)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 115)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"ledger\") ((Some (\"./contracts/tests/CTokenTest.py\" 56)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 56)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 56)) account_of_seed \"Bob\") \"address\"))) \"balance\") ((Some (\"./contracts/tests/CTokenTest.py\" 116)) literal (nat 1000000000)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 116))" + }, + { + "action": "html", + "inner": "Try mint in callback", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 117))", + "tag": "h3" }, { "action": "message", - "id": "(static_id 1 (\"contracts/tests/SweepTokensTest.py\" 8))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 57)", - "message": "verifyMutezBalance", - "params": "(literal (intOrNat 0) (\"contracts/tests/SweepTokensTest.py\" 57))" + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 118))", + "message": "getCash", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 118)) tuple (None literal (unit)) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) contract_typed ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3) \"mint\"))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 118)) literal (intOrNat 6))", + "sender": "seed:Alice", + "valid": "((Some (\"./contracts/tests/CTokenTest.py\" 118)) literal (bool False))" }, { "action": "html", - "inner": "Test sweep to contract", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 60)", + "inner": "Test Borrow", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 120))", "tag": "h2" }, { - "action": "newContract", - "accept_unknown_types": false, - "export": "(template_id (static_id 2 (\"contracts/tests/SweepTokensTest.py\" 16)) \nstorage (record (\"contracts/tests/SweepTokensTest.py\" 16) (administrator (to_constant (attr (account_of_seed \"admin\" (\"contracts/tests/SweepTokensTest.py\" 29)) \"address\" (\"contracts/tests/SweepTokensTest.py\" 29)) (\"contracts/tests/SweepTokensTest.py\" 29))))\nstorage_type (())\nmessages ((receive True None None True (\"contracts/tests/SweepTokensTest.py\" 23) ((set_type (params (\"contracts/tests/SweepTokensTest.py\" 23)) \"unit\" (\"contracts/tests/SweepTokensTest.py\" 24)))) (stubFn True None None True (\"contracts/tests/SweepTokensTest.py\" 19) ((set_type (params (\"contracts/tests/SweepTokensTest.py\" 19)) \"unit\" (\"contracts/tests/SweepTokensTest.py\" 20)))))\nflags ()\nglobals ()\nviews ()\nentry_points_layout ()\ninitial_metadata ()\nbalance ())", - "id": "(static_id 2 (\"contracts/tests/SweepTokensTest.py\" 16))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 63)", - "show": true + "action": "html", + "inner": "Borrow allowed", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 121))", + "tag": "h3" }, { - "action": "newContract", - "accept_unknown_types": false, - "export": "(template_id (static_id 3 (\"contracts/tests/SweepTokensTest.py\" 8)) \nstorage (record (\"contracts/tests/SweepTokensTest.py\" 8) (administrator (contract_address (static_id 2 (\"contracts/tests/SweepTokensTest.py\" 16)) \"\" (\"contracts/tests/SweepTokensTest.py\" 16))))\nstorage_type (())\nmessages ((sweepFA12 True None None True (\"contracts/utils/SweepTokens.py\" 33) ((set_type (params (\"contracts/utils/SweepTokens.py\" 33)) (record ((amount \"nat\") (tokenAddress \"address\")) None) (\"contracts/utils/SweepTokens.py\" 34)) (set (operations (\"contracts/utils/TransferTokens.py\" 17)) (cons (transfer (record (\"contracts/utils/TransferTokens.py\" 5) (from_ (self_address)) (to_ (attr (data) \"administrator\" (\"contracts/utils/SweepTokens.py\" 36))) (value (attr (params (\"contracts/utils/SweepTokens.py\" 33)) \"amount\" (\"contracts/utils/SweepTokens.py\" 36)))) (literal (mutez 0) (\"contracts/utils/TransferTokens.py\" 17)) (openVariant (contract \"transfer\" (record ((from_ \"address\") (to_ \"address\") (value \"nat\")) (Some ((\"from_ as from\") ((\"to_ as to\") (\"value\"))))) (attr (params (\"contracts/utils/SweepTokens.py\" 33)) \"tokenAddress\" (\"contracts/utils/SweepTokens.py\" 35)) (\"contracts/utils/TransferTokens.py\" 11)) \"Some\" \"None\" (\"contracts/utils/TransferTokens.py\" 11)) (\"contracts/utils/TransferTokens.py\" 17)) (operations (\"contracts/utils/TransferTokens.py\" 17)) (\"contracts/utils/TransferTokens.py\" 17)) (\"contracts/utils/TransferTokens.py\" 17)))) (sweepFA2 True None None True (\"contracts/utils/SweepTokens.py\" 48) ((set_type (params (\"contracts/utils/SweepTokens.py\" 48)) (record ((amount \"nat\") (id \"nat\") (tokenAddress \"address\")) None) (\"contracts/utils/SweepTokens.py\" 49)) (set (operations (\"contracts/utils/TransferTokens.py\" 42)) (cons (transfer (list (\"contracts/utils/TransferTokens.py\" 42) (record (\"contracts/utils/TransferTokens.py\" 24) (from_ (self_address)) (txs (list (\"contracts/utils/TransferTokens.py\" 24) (record (\"contracts/utils/TransferTokens.py\" 27) (amount (attr (params (\"contracts/utils/SweepTokens.py\" 48)) \"amount\" (\"contracts/utils/SweepTokens.py\" 51))) (to_ (attr (data) \"administrator\" (\"contracts/utils/SweepTokens.py\" 36))) (token_id (attr (params (\"contracts/utils/SweepTokens.py\" 48)) \"id\" (\"contracts/utils/SweepTokens.py\" 50)))))))) (literal (mutez 0) (\"contracts/utils/TransferTokens.py\" 42)) (openVariant (contract \"transfer\" (list (record ((from_ \"address\") (txs (list (record ((amount \"nat\") (to_ \"address\") (token_id \"nat\")) (Some ((\"to_\") ((\"token_id\") (\"amount\")))))))) (Some ((\"from_\") (\"txs\"))))) (attr (params (\"contracts/utils/SweepTokens.py\" 48)) \"tokenAddress\" (\"contracts/utils/SweepTokens.py\" 50)) (\"contracts/utils/TransferTokens.py\" 36)) \"Some\" \"None\" (\"contracts/utils/TransferTokens.py\" 36)) (\"contracts/utils/TransferTokens.py\" 42)) (operations (\"contracts/utils/TransferTokens.py\" 42)) (\"contracts/utils/TransferTokens.py\" 42)) (\"contracts/utils/TransferTokens.py\" 42)))) (sweepMutez True None None True (\"contracts/utils/SweepTokens.py\" 14) ((set_type (params (\"contracts/utils/SweepTokens.py\" 14)) \"bool\" (\"contracts/utils/SweepTokens.py\" 15)) (ifBlock (params (\"contracts/utils/SweepTokens.py\" 14)) ((set (operations (\"contracts/utils/SweepTokens.py\" 19)) (cons (transfer (unit) (balance) (openVariant (contract \"receive\" \"unit\" (attr (data) \"administrator\" (\"contracts/utils/SweepTokens.py\" 36)) (\"contracts/utils/SweepTokens.py\" 18)) \"Some\" \"None\" (\"contracts/utils/SweepTokens.py\" 18)) (\"contracts/utils/SweepTokens.py\" 19)) (operations (\"contracts/utils/SweepTokens.py\" 19)) (\"contracts/utils/SweepTokens.py\" 19)) (\"contracts/utils/SweepTokens.py\" 19))) (\"contracts/utils/SweepTokens.py\" 17)) (elseBlock ((set (operations (\"contracts/utils/SweepTokens.py\" 21)) (cons (transfer (unit) (balance) (openVariant (contract \"\" \"unit\" (attr (data) \"administrator\" (\"contracts/utils/SweepTokens.py\" 36)) (\"contracts/utils/SweepTokens.py\" 21)) \"Some\" \"None\" (\"contracts/utils/SweepTokens.py\" 21)) (\"contracts/utils/SweepTokens.py\" 21)) (operations (\"contracts/utils/SweepTokens.py\" 21)) (\"contracts/utils/SweepTokens.py\" 21)) (\"contracts/utils/SweepTokens.py\" 21)))))) (verifyMutezBalance True None None True (\"contracts/tests/SweepTokensTest.py\" 11) ((verify (eq (first (openVariant (ediv (balance) (literal (mutez 1) (\"contracts/tests/SweepTokensTest.py\" 12)) (\"contracts/tests/SweepTokensTest.py\" 12)) \"Some\" (unit) (\"contracts/tests/SweepTokensTest.py\" 12)) (\"contracts/tests/SweepTokensTest.py\" 12)) (params (\"contracts/tests/SweepTokensTest.py\" 11)) (\"contracts/tests/SweepTokensTest.py\" 12)) (\"contracts/tests/SweepTokensTest.py\" 12)))))\nflags ()\nglobals ()\nviews ()\nentry_points_layout ()\ninitial_metadata ()\nbalance ())", - "id": "(static_id 3 (\"contracts/tests/SweepTokensTest.py\" 8))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 64)", - "show": true + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 7))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 47))", + "message": "updateAssetPrice", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) contract_address ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3) \"\")", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 47)) literal (intOrNat 7))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 50))", + "message": "updateAccountLiquidity", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 57)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 57)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 57)) account_of_seed \"Carl\") \"address\"))", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 50)) literal (intOrNat 7))", + "sender": "seed:Carl" + }, + { + "action": "html", + "inner": "call borrow with relevant account liquidity, asset price and accrue interest", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 32))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 33))", + "message": "borrow", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 33)) literal (intOrNat 10))", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 33)) literal (intOrNat 7))", + "sender": "seed:Carl" + }, + { + "action": "html", + "inner": "call borrow with old account liquidity", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 35))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 36))", + "message": "borrow", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 36)) literal (intOrNat 10))", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 36)) literal (intOrNat 8))", + "sender": "seed:Carl", + "valid": "((Some (\"contracts/tests/utils/DataRelevance.py\" 36)) literal (bool False))" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 123)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 123)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 123)) get_item ((Some (\"./contracts/tests/CTokenTest.py\" 123)) attr ((Some (\"contracts/tests/utils/DataRelevance.py\" 36)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"ledger\") ((Some (\"./contracts/tests/CTokenTest.py\" 57)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 57)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 57)) account_of_seed \"Carl\") \"address\"))) \"balance\") ((Some (\"./contracts/tests/CTokenTest.py\" 123)) literal (nat 0)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 123))" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 124)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 124)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 124)) get_item ((Some (\"./contracts/tests/CTokenTest.py\" 124)) attr ((Some (\"contracts/tests/utils/DataRelevance.py\" 36)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"borrows\") ((Some (\"./contracts/tests/CTokenTest.py\" 57)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 57)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 57)) account_of_seed \"Carl\") \"address\"))) \"principal\") ((Some (\"./contracts/tests/CTokenTest.py\" 124)) literal (nat 10)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 124))" }, { "action": "html", - "inner": "sweepFA12", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 66)", + "inner": "Borrow not allowed", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 125))", "tag": "h3" }, { "action": "message", - "id": "(static_id 0 (\"contracts/tests/mock/FA12Mock.py\" 5))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 67)", - "message": "mint", - "params": "(record (\"contracts/tests/SweepTokensTest.py\" 67) (address (contract_address (static_id 3 (\"contracts/tests/SweepTokensTest.py\" 8)) \"\" (\"contracts/tests/SweepTokensTest.py\" 8))) (value (literal (intOrNat 500) (\"contracts/tests/SweepTokensTest.py\" 67))))" + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 126))", + "message": "setBorrowAllowed", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 126)) literal (bool False))" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 8))", + "sender": "seed:Alice" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 128))", + "message": "borrow", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 128)) literal (intOrNat 10))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 128)) literal (intOrNat 9))", + "sender": "seed:Carl", + "valid": "((Some (\"./contracts/tests/CTokenTest.py\" 128)) literal (bool False))" + }, + { + "action": "html", + "inner": "Borrow allowed again", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 129))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 10))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 47))", + "message": "updateAssetPrice", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) contract_address ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3) \"\")", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 47)) literal (intOrNat 10))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 50))", + "message": "updateAccountLiquidity", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 57)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 57)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 57)) account_of_seed \"Carl\") \"address\"))", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 50)) literal (intOrNat 10))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 131))", + "message": "setBorrowAllowed", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 131)) literal (bool True))" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 132))", + "message": "borrow", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 132)) literal (intOrNat 10))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 132)) literal (intOrNat 10))", + "sender": "seed:Alice" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 133)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 133)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 133)) get_item ((Some (\"./contracts/tests/CTokenTest.py\" 133)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 132)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"ledger\") ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))) \"balance\") ((Some (\"./contracts/tests/CTokenTest.py\" 133)) literal (nat 100000000)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 133))" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 134)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 134)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 134)) get_item ((Some (\"./contracts/tests/CTokenTest.py\" 134)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 132)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"borrows\") ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))) \"principal\") ((Some (\"./contracts/tests/CTokenTest.py\" 134)) literal (nat 10)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 134))" + }, + { + "action": "html", + "inner": "Try borrow with insufficient cash", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 135))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 11))", + "sender": "seed:Alice" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 137))", + "message": "borrow", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 137)) literal (intOrNat 1100000001))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 137)) literal (intOrNat 11))", + "sender": "seed:Carl", + "valid": "((Some (\"./contracts/tests/CTokenTest.py\" 137)) literal (bool False))" + }, + { + "action": "html", + "inner": "Try borrow in callback", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 138))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 139))", + "message": "getCash", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 139)) tuple (None literal (unit)) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) contract_typed ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3) \"borrow\"))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 139)) literal (intOrNat 11))", + "sender": "seed:Alice", + "valid": "((Some (\"./contracts/tests/CTokenTest.py\" 139)) literal (bool False))" + }, + { + "action": "html", + "inner": "Test Redeem", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 141))", + "tag": "h2" + }, + { + "action": "html", + "inner": "Redeem allowed", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 142))", + "tag": "h3" }, { "action": "message", - "id": "(static_id 3 (\"contracts/tests/SweepTokensTest.py\" 8))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 68)", - "message": "sweepFA12", - "params": "(record (\"contracts/tests/SweepTokensTest.py\" 68) (amount (literal (intOrNat 200) (\"contracts/tests/SweepTokensTest.py\" 68))) (tokenAddress (contract_address (static_id 0 (\"contracts/tests/mock/FA12Mock.py\" 5)) \"\" (\"contracts/tests/mock/FA12Mock.py\" 5))))" + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 12))", + "sender": "seed:Alice" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 47))", + "message": "updateAssetPrice", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) contract_address ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3) \"\")", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 47)) literal (intOrNat 12))", + "sender": "seed:Alice" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 50))", + "message": "updateAccountLiquidity", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 50)) literal (intOrNat 12))", + "sender": "seed:Alice" + }, + { + "action": "html", + "inner": "call redeem with relevant account liquidity, asset price and accrue interest", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 32))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 33))", + "message": "redeem", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 33)) literal (intOrNat 50000000))", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 33)) literal (intOrNat 12))", + "sender": "seed:Alice" + }, + { + "action": "html", + "inner": "call redeem with old account liquidity", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 35))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 36))", + "message": "redeem", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 36)) literal (intOrNat 50000000))", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 36)) literal (intOrNat 13))", + "sender": "seed:Alice", + "valid": "((Some (\"contracts/tests/utils/DataRelevance.py\" 36)) literal (bool False))" }, { "action": "verify", - "condition": "(eq (attr (getItem (attr (contract_data (static_id 0 (\"contracts/tests/mock/FA12Mock.py\" 5)) (\"contracts/tests/SweepTokensTest.py\" 67)) \"balances\" (\"contracts/tests/SweepTokensTest.py\" 69)) (contract_address (static_id 3 (\"contracts/tests/SweepTokensTest.py\" 8)) \"\" (\"contracts/tests/SweepTokensTest.py\" 8)) (\"contracts/tests/SweepTokensTest.py\" 69)) \"balance\" (\"contracts/tests/SweepTokensTest.py\" 69)) (literal (intOrNat 300) (\"contracts/tests/SweepTokensTest.py\" 69)) (\"contracts/tests/SweepTokensTest.py\" 69))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 69)" + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 144)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 144)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 144)) get_item ((Some (\"./contracts/tests/CTokenTest.py\" 144)) attr ((Some (\"contracts/tests/utils/DataRelevance.py\" 36)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"ledger\") ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))) \"balance\") ((Some (\"./contracts/tests/CTokenTest.py\" 144)) literal (nat 50000000)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 144))" + }, + { + "action": "html", + "inner": "Redeem not allowed", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 145))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 146))", + "message": "setRedeemAllowed", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 146)) literal (bool False))" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 13))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 47))", + "message": "updateAssetPrice", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) contract_address ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3) \"\")", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 47)) literal (intOrNat 13))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 50))", + "message": "updateAccountLiquidity", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 57)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 57)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 57)) account_of_seed \"Carl\") \"address\"))", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 50)) literal (intOrNat 13))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 148))", + "message": "redeem", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 148)) literal (intOrNat 10000000))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 148)) literal (intOrNat 13))", + "sender": "seed:Alice", + "valid": "((Some (\"./contracts/tests/CTokenTest.py\" 148)) literal (bool False))" + }, + { + "action": "html", + "inner": "Redeem allowed again", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 149))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 14))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 47))", + "message": "updateAssetPrice", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) contract_address ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3) \"\")", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 47)) literal (intOrNat 14))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 50))", + "message": "updateAccountLiquidity", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 57)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 57)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 57)) account_of_seed \"Carl\") \"address\"))", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 50)) literal (intOrNat 14))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 151))", + "message": "setRedeemAllowed", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 151)) literal (bool True))" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 152))", + "message": "redeem", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 152)) literal (intOrNat 10000000))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 152)) literal (intOrNat 14))", + "sender": "seed:Alice" }, { "action": "verify", - "condition": "(eq (attr (getItem (attr (contract_data (static_id 0 (\"contracts/tests/mock/FA12Mock.py\" 5)) (\"contracts/tests/SweepTokensTest.py\" 67)) \"balances\" (\"contracts/tests/SweepTokensTest.py\" 69)) (contract_address (static_id 2 (\"contracts/tests/SweepTokensTest.py\" 16)) \"\" (\"contracts/tests/SweepTokensTest.py\" 16)) (\"contracts/tests/SweepTokensTest.py\" 70)) \"balance\" (\"contracts/tests/SweepTokensTest.py\" 70)) (literal (intOrNat 200) (\"contracts/tests/SweepTokensTest.py\" 70)) (\"contracts/tests/SweepTokensTest.py\" 70))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 70)" + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 153)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 153)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 153)) get_item ((Some (\"./contracts/tests/CTokenTest.py\" 153)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 152)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"ledger\") ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))) \"balance\") ((Some (\"./contracts/tests/CTokenTest.py\" 153)) literal (nat 40000000)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 153))" + }, + { + "action": "html", + "inner": "Try redeem with insufficient balance", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 154))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 15))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 47))", + "message": "updateAssetPrice", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) contract_address ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3) \"\")", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 47)) literal (intOrNat 15))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 50))", + "message": "updateAccountLiquidity", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 57)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 57)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 57)) account_of_seed \"Carl\") \"address\"))", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 50)) literal (intOrNat 15))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 156))", + "message": "redeem", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 156)) literal (intOrNat 50000000))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 156)) literal (intOrNat 15))", + "sender": "seed:Alice", + "valid": "((Some (\"./contracts/tests/CTokenTest.py\" 156)) literal (bool False))" }, { "action": "html", - "inner": "sweepMutez", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 72)", + "inner": "Redeem underlying", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 157))", "tag": "h3" }, { "action": "message", - "id": "(static_id 3 (\"contracts/tests/SweepTokensTest.py\" 8))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 73)", - "message": "verifyMutezBalance", - "params": "(literal (intOrNat 100) (\"contracts/tests/SweepTokensTest.py\" 73))", - "amount": "(literal (mutez 100) (\"contracts/tests/SweepTokensTest.py\" 73))" + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 16))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 47))", + "message": "updateAssetPrice", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) contract_address ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3) \"\")", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 47)) literal (intOrNat 16))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 50))", + "message": "updateAccountLiquidity", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 57)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 57)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 57)) account_of_seed \"Carl\") \"address\"))", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 50)) literal (intOrNat 16))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 159))", + "message": "redeemUnderlying", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 159)) literal (intOrNat 10))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 159)) literal (intOrNat 16))", + "sender": "seed:Alice" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 160)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 160)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 160)) get_item ((Some (\"./contracts/tests/CTokenTest.py\" 160)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 159)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"ledger\") ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))) \"balance\") ((Some (\"./contracts/tests/CTokenTest.py\" 160)) literal (nat 30188679)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 160))" + }, + { + "action": "html", + "inner": "Try redeem in callback", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 161))", + "tag": "h3" }, { "action": "message", - "id": "(static_id 3 (\"contracts/tests/SweepTokensTest.py\" 8))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 74)", - "message": "sweepMutez", - "params": "(literal (bool True) (\"contracts/tests/SweepTokensTest.py\" 74))" + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 162))", + "message": "getCash", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 162)) tuple (None literal (unit)) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) contract_typed ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3) \"redeem\"))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 162)) literal (intOrNat 17))", + "sender": "seed:Alice", + "valid": "((Some (\"./contracts/tests/CTokenTest.py\" 162)) literal (bool False))" + }, + { + "action": "html", + "inner": "Try redeem underlying in callback", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 163))", + "tag": "h3" }, { "action": "message", - "id": "(static_id 3 (\"contracts/tests/SweepTokensTest.py\" 8))", - "line_no": "(\"contracts/tests/SweepTokensTest.py\" 75)", - "message": "verifyMutezBalance", - "params": "(literal (intOrNat 0) (\"contracts/tests/SweepTokensTest.py\" 75))" + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 164))", + "message": "getCash", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 164)) tuple (None literal (unit)) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) contract_typed ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3) \"redeemUnderlying\"))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 164)) literal (intOrNat 18))", + "sender": "seed:Alice", + "valid": "((Some (\"./contracts/tests/CTokenTest.py\" 164)) literal (bool False))" + }, + { + "action": "html", + "inner": "Test Repay borrow", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 166))", + "tag": "h2" + }, + { + "action": "html", + "inner": "Repay borrow allowed", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 167))", + "tag": "h3" + }, + { + "action": "html", + "inner": "call repayBorrow with old accrue interest", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 23))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 24))", + "message": "repayBorrow", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 24)) literal (intOrNat 1))", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 24)) literal (intOrNat 19))", + "sender": "seed:Alice", + "valid": "((Some (\"contracts/tests/utils/DataRelevance.py\" 24)) literal (bool False))" + }, + { + "action": "html", + "inner": "call repayBorrow with relevant accrue interest", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 26))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 20))", + "sender": "seed:Alice" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 28))", + "message": "repayBorrow", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 28)) literal (intOrNat 1))", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 28)) literal (intOrNat 20))", + "sender": "seed:Alice" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 169)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 169)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 169)) get_item ((Some (\"./contracts/tests/CTokenTest.py\" 169)) attr ((Some (\"contracts/tests/utils/DataRelevance.py\" 28)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"borrows\") ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))) \"principal\") ((Some (\"./contracts/tests/CTokenTest.py\" 169)) literal (nat 9)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 169))" + }, + { + "action": "html", + "inner": "Repay borrow not allowed", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 170))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 171))", + "message": "setRepayBorrowAllowed", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 171)) literal (bool False))" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 21))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 173))", + "message": "repayBorrow", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 173)) literal (intOrNat 1))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 173)) literal (intOrNat 21))", + "sender": "seed:Alice", + "valid": "((Some (\"./contracts/tests/CTokenTest.py\" 173)) literal (bool False))" + }, + { + "action": "html", + "inner": "Repay borrow allowed again", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 174))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 22))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 176))", + "message": "setRepayBorrowAllowed", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 176)) literal (bool True))" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 177))", + "message": "repayBorrow", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 177)) literal (intOrNat 1))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 177)) literal (intOrNat 22))", + "sender": "seed:Alice" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 178)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 178)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 178)) get_item ((Some (\"./contracts/tests/CTokenTest.py\" 178)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 177)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"borrows\") ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))) \"principal\") ((Some (\"./contracts/tests/CTokenTest.py\" 178)) literal (nat 8)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 178))" + }, + { + "action": "html", + "inner": "Repay borrow behalf", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 179))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 23))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 181))", + "message": "repayBorrowBehalf", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 181)) record (borrower ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))) (repayAmount ((Some (\"./contracts/tests/CTokenTest.py\" 181)) literal (nat 1))))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 181)) literal (intOrNat 23))", + "sender": "seed:Bob" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 182)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 182)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 182)) get_item ((Some (\"./contracts/tests/CTokenTest.py\" 182)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 181)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"borrows\") ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))) \"principal\") ((Some (\"./contracts/tests/CTokenTest.py\" 182)) literal (nat 7)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 182))" + }, + { + "action": "html", + "inner": "Repay more than borrowed", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 183))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 24))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 185))", + "message": "repayBorrow", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 185)) literal (intOrNat 1007))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 185)) literal (intOrNat 24))", + "sender": "seed:Alice" + }, + { + "action": "show", + "compile": false, + "expression": "((Some (\"./contracts/tests/CTokenTest.py\" 186)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 186)) get_item ((Some (\"./contracts/tests/CTokenTest.py\" 186)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 185)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"borrows\") ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))) \"principal\")", + "html": true, + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 186))", + "stripStrings": false + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 187)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 187)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 187)) get_item ((Some (\"./contracts/tests/CTokenTest.py\" 186)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 185)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"borrows\") ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))) \"principal\") ((Some (\"./contracts/tests/CTokenTest.py\" 187)) literal (nat 0)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 187))" + }, + { + "action": "html", + "inner": "Try repayBorrow in callback", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 188))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 189))", + "message": "getCash", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 189)) tuple (None literal (unit)) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) contract_typed ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3) \"redeem\"))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 189)) literal (intOrNat 24))", + "sender": "seed:Alice", + "valid": "((Some (\"./contracts/tests/CTokenTest.py\" 189)) literal (bool False))" + }, + { + "action": "html", + "inner": "Test transfer", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 192))", + "tag": "h2" + }, + { + "action": "html", + "inner": "No tokens to transfer", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 193))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 194))", + "message": "transfer", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 194)) record (from_ ((Some (\"./contracts/tests/CTokenTest.py\" 57)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 57)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 57)) account_of_seed \"Carl\") \"address\"))) (to_ ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))) (value ((Some (\"./contracts/tests/CTokenTest.py\" 194)) literal (intOrNat 100))))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 194)) literal (intOrNat 25))", + "sender": "seed:Carl", + "valid": "((Some (\"./contracts/tests/CTokenTest.py\" 194)) literal (bool False))" + }, + { + "action": "html", + "inner": "No approved tokens to transfer", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 195))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 196))", + "message": "transfer", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 196)) record (from_ ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))) (to_ ((Some (\"./contracts/tests/CTokenTest.py\" 57)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 57)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 57)) account_of_seed \"Carl\") \"address\"))) (value ((Some (\"./contracts/tests/CTokenTest.py\" 196)) literal (intOrNat 100))))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 196)) literal (intOrNat 26))", + "sender": "seed:Carl", + "valid": "((Some (\"./contracts/tests/CTokenTest.py\" 196)) literal (bool False))" + }, + { + "action": "html", + "inner": "Transfer successfully", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 197))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 198))", + "message": "transfer", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 198)) record (from_ ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))) (to_ ((Some (\"./contracts/tests/CTokenTest.py\" 57)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 57)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 57)) account_of_seed \"Carl\") \"address\"))) (value ((Some (\"./contracts/tests/CTokenTest.py\" 198)) literal (intOrNat 100))))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 198)) literal (intOrNat 27))", + "sender": "seed:Alice" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 199))", + "message": "getBalance", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 199)) tuple ((Some (\"./contracts/tests/CTokenTest.py\" 57)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 57)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 57)) account_of_seed \"Carl\") \"address\")) ((Some (\"./contracts/tests/CTokenTest.py\" 67)) contract_typed ((Some (\"./contracts/tests/CTokenTest.py\" 67)) static_id 0) \"targetNat\"))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 199)) literal (intOrNat 28))", + "sender": "seed:Carl" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 200)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 200)) pack ((Some (\"./contracts/tests/CTokenTest.py\" 200)) type_annotation ((Some (\"./contracts/tests/CTokenTest.py\" 200)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 67)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 67)) static_id 0)) \"last\") (unknown 59))) ((Some (\"./contracts/tests/CTokenTest.py\" 200)) pack ((Some (\"./contracts/tests/CTokenTest.py\" 200)) type_annotation ((Some (\"./contracts/tests/CTokenTest.py\" 200)) variant \"Some\" ((Some (\"./contracts/tests/CTokenTest.py\" 200)) literal (intOrNat 100))) (unknown 59))))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 200))" + }, + { + "action": "html", + "inner": "Approve and transfer successfully", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 201))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 202))", + "message": "approve", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 202)) record (spender ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))) (value ((Some (\"./contracts/tests/CTokenTest.py\" 202)) literal (intOrNat 100))))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 202)) literal (intOrNat 29))", + "sender": "seed:Carl" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 203))", + "message": "getAllowance", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 203)) tuple ((Some (\"./contracts/tests/CTokenTest.py\" 203)) record (owner ((Some (\"./contracts/tests/CTokenTest.py\" 57)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 57)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 57)) account_of_seed \"Carl\") \"address\"))) (spender ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\")))) ((Some (\"./contracts/tests/CTokenTest.py\" 67)) contract_typed ((Some (\"./contracts/tests/CTokenTest.py\" 67)) static_id 0) \"targetNat\"))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 203)) literal (intOrNat 30))", + "sender": "seed:Carl" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 204)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 204)) pack ((Some (\"./contracts/tests/CTokenTest.py\" 204)) type_annotation ((Some (\"./contracts/tests/CTokenTest.py\" 200)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 67)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 67)) static_id 0)) \"last\") (unknown 60))) ((Some (\"./contracts/tests/CTokenTest.py\" 204)) pack ((Some (\"./contracts/tests/CTokenTest.py\" 204)) type_annotation ((Some (\"./contracts/tests/CTokenTest.py\" 204)) variant \"Some\" ((Some (\"./contracts/tests/CTokenTest.py\" 204)) literal (intOrNat 100))) (unknown 60))))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 204))" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 205))", + "message": "transfer", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 205)) record (from_ ((Some (\"./contracts/tests/CTokenTest.py\" 57)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 57)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 57)) account_of_seed \"Carl\") \"address\"))) (to_ ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))) (value ((Some (\"./contracts/tests/CTokenTest.py\" 205)) literal (intOrNat 100))))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 205)) literal (intOrNat 31))", + "sender": "seed:Alice" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 206)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 206)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 206)) get_item ((Some (\"./contracts/tests/CTokenTest.py\" 206)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 205)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"ledger\") ((Some (\"./contracts/tests/CTokenTest.py\" 57)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 57)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 57)) account_of_seed \"Carl\") \"address\"))) \"balance\") ((Some (\"./contracts/tests/CTokenTest.py\" 206)) literal (nat 0)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 206))" + }, + { + "action": "html", + "inner": "Admin functions", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 208))", + "tag": "h2" + }, + { + "action": "html", + "inner": "Pending governance", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 209))", + "tag": "h3" + }, + { + "action": "html", + "inner": "Common user attempts to set pending governance", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 2))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3))", + "message": "setPendingGovernance", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 56)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 56)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 56)) account_of_seed \"Bob\") \"address\"))", + "level": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3)) literal (intOrNat 31))", + "sender": "seed:Alice", + "valid": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3)) literal (bool False))" + }, + { + "action": "html", + "inner": "Admin attempts to set pending governance", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 5))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6))", + "message": "setPendingGovernance", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 56)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 56)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 56)) account_of_seed \"Bob\") \"address\"))", + "level": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6)) literal (intOrNat 31))", + "sender": "seed:admin" + }, + { + "action": "html", + "inner": "Accept governance", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 212))", + "tag": "h3" + }, + { + "action": "html", + "inner": "Not pending admin attempts to accept governance", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 213))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 214))", + "message": "acceptGovernance", + "params": "(None literal (unit))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 214)) literal (intOrNat 32))", + "sender": "seed:admin", + "valid": "((Some (\"./contracts/tests/CTokenTest.py\" 214)) literal (bool False))" + }, + { + "action": "html", + "inner": "Pending admin attempts to accept governance", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 215))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 216))", + "message": "acceptGovernance", + "params": "(None literal (unit))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 216)) literal (intOrNat 33))", + "sender": "seed:Bob" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 217)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 217)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 216)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"administrator\") ((Some (\"./contracts/tests/CTokenTest.py\" 56)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 56)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 56)) account_of_seed \"Bob\") \"address\")))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 217))" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 218)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 218)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 216)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"pendingAdministrator\") (None variant \"None\" (None literal (unit))))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 218))" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 221))", + "message": "setPendingGovernance", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 58)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 58)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 58)) account_of_seed \"admin\") \"address\"))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 221)) literal (intOrNat 34))", + "sender": "seed:Bob" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 222))", + "message": "acceptGovernance", + "params": "(None literal (unit))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 222)) literal (intOrNat 35))", + "sender": "seed:admin" + }, + { + "action": "html", + "inner": "Remove pending governance", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 224))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 226))", + "message": "setPendingGovernance", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 56)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 56)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 56)) account_of_seed \"Bob\") \"address\"))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 226)) literal (intOrNat 36))", + "sender": "seed:admin" + }, + { + "action": "html", + "inner": "Common user attempts to remove pending governance", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 2))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3))", + "message": "removePendingGovernance", + "params": "(None literal (unit))", + "level": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3)) literal (intOrNat 36))", + "sender": "seed:Alice", + "valid": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3)) literal (bool False))" + }, + { + "action": "html", + "inner": "Admin attempts to remove pending governance", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 5))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6))", + "message": "removePendingGovernance", + "params": "(None literal (unit))", + "level": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6)) literal (intOrNat 36))", + "sender": "seed:admin" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 228)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 228)) attr ((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"pendingAdministrator\") (None variant \"None\" (None literal (unit))))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 228))" + }, + { + "action": "html", + "inner": "Set comptroller", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 230))", + "tag": "h3" + }, + { + "action": "html", + "inner": "Common user attempts to set comptroller", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 2))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3))", + "message": "setComptroller", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) contract_address ((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1) \"\")", + "level": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3)) literal (intOrNat 36))", + "sender": "seed:Alice", + "valid": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3)) literal (bool False))" + }, + { + "action": "html", + "inner": "Admin attempts to set comptroller", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 5))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6))", + "message": "setComptroller", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 68)) contract_address ((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1) \"\")", + "level": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6)) literal (intOrNat 36))", + "sender": "seed:admin" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 232)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 232)) attr ((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"comptroller\") ((Some (\"./contracts/tests/CTokenTest.py\" 68)) contract_address ((Some (\"./contracts/tests/CTokenTest.py\" 68)) static_id 1) \"\"))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 232))" + }, + { + "action": "html", + "inner": "Set interest rate model", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 234))", + "tag": "h3" + }, + { + "action": "html", + "inner": "Common user attempts to set interest rate model", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 2))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3))", + "message": "setInterestRateModel", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 70)) contract_address ((Some (\"./contracts/tests/CTokenTest.py\" 70)) static_id 2) \"\")", + "level": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3)) literal (intOrNat 36))", + "sender": "seed:Alice", + "valid": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3)) literal (bool False))" + }, + { + "action": "html", + "inner": "Admin attempts to set interest rate model", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 5))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6))", + "message": "setInterestRateModel", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 70)) contract_address ((Some (\"./contracts/tests/CTokenTest.py\" 70)) static_id 2) \"\")", + "level": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6)) literal (intOrNat 36))", + "sender": "seed:admin" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 236)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 236)) attr ((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"interestRateModel\") ((Some (\"./contracts/tests/CTokenTest.py\" 70)) contract_address ((Some (\"./contracts/tests/CTokenTest.py\" 70)) static_id 2) \"\"))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 236))" + }, + { + "action": "html", + "inner": "Set reserve factor", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 238))", + "tag": "h3" + }, + { + "action": "html", + "inner": "Common user attempts to Set reserve factor", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 2))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3))", + "message": "setReserveFactor", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 239)) literal (nat 1))", + "level": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3)) literal (intOrNat 36))", + "sender": "seed:Alice", + "valid": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3)) literal (bool False))" + }, + { + "action": "html", + "inner": "Admin attempts to Set reserve factor", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 5))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6))", + "message": "setReserveFactor", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 239)) literal (nat 1))", + "level": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6)) literal (intOrNat 36))", + "sender": "seed:admin" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 241)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 241)) attr ((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"reserveFactorMantissa\") ((Some (\"./contracts/tests/CTokenTest.py\" 239)) literal (nat 1)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 241))" + }, + { + "action": "html", + "inner": "Add reserves", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 243))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 245))", + "message": "addReserves", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 244)) literal (nat 10))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 245)) literal (intOrNat 37))", + "sender": "seed:Alice" + }, + { + "action": "html", + "inner": "Try add reserves in callback", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 246))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 247))", + "message": "getCash", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 247)) tuple (None literal (unit)) ((Some (\"./contracts/tests/CTokenTest.py\" 93)) contract_typed ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3) \"addReserves\"))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 247)) literal (intOrNat 38))", + "sender": "seed:Alice", + "valid": "((Some (\"./contracts/tests/CTokenTest.py\" 247)) literal (bool False))" + }, + { + "action": "html", + "inner": "Reduce reserves", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 249))", + "tag": "h3" + }, + { + "action": "html", + "inner": "Common user attempts to reduce reserves", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 2))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3))", + "message": "reduceReserves", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 250)) literal (nat 5))", + "level": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3)) literal (intOrNat 38))", + "sender": "seed:Alice", + "valid": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3)) literal (bool False))" + }, + { + "action": "html", + "inner": "Admin attempts to reduce reserves", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 5))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6))", + "message": "reduceReserves", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 250)) literal (nat 5))", + "level": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6)) literal (intOrNat 38))", + "sender": "seed:admin" + }, + { + "action": "html", + "inner": "Try to reduce insufficient", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 252))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 253))", + "message": "reduceReserves", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 253)) literal (nat 100000000000000000000))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 253)) literal (intOrNat 39))", + "sender": "seed:admin", + "valid": "((Some (\"./contracts/tests/CTokenTest.py\" 253)) literal (bool False))" + }, + { + "action": "html", + "inner": "Check hardResetOp", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 255))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 256))", + "message": "setActiveOp", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 256)) literal (intOrNat 1))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 256)) literal (intOrNat 40))", + "sender": "seed:admin" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 257)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 257)) size ((Some (\"./contracts/tests/CTokenTest.py\" 257)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 256)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"activeOperations\")) ((Some (\"./contracts/tests/CTokenTest.py\" 257)) literal (nat 1)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 257))" + }, + { + "action": "html", + "inner": "Common user attempts to hardResetOp", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 2))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3))", + "message": "hardResetOp", + "params": "(None literal (unit))", + "level": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3)) literal (intOrNat 40))", + "sender": "seed:Alice", + "valid": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 3)) literal (bool False))" + }, + { + "action": "html", + "inner": "Admin attempts to hardResetOp", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 5))", + "tag": "h4" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6))", + "message": "hardResetOp", + "params": "(None literal (unit))", + "level": "((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6)) literal (intOrNat 40))", + "sender": "seed:admin" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 259)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 259)) size ((Some (\"./contracts/tests/CTokenTest.py\" 259)) attr ((Some (\"contracts/tests/utils/TestAdminFunctionality.py\" 6)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"activeOperations\")) ((Some (\"./contracts/tests/CTokenTest.py\" 259)) literal (nat 0)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 259))" + }, + { + "action": "html", + "inner": "Test getBalanceOfUnderlying", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 263))", + "tag": "h2" + }, + { + "action": "html", + "inner": "View stored balance", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 264))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 265))", + "message": "getBalanceOfUnderlying", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 265)) tuple ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\")) ((Some (\"./contracts/tests/CTokenTest.py\" 67)) contract_typed ((Some (\"./contracts/tests/CTokenTest.py\" 67)) static_id 0) \"targetNat\"))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 265)) literal (intOrNat 41))", + "sender": "seed:Alice" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 266)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 266)) pack ((Some (\"./contracts/tests/CTokenTest.py\" 266)) type_annotation ((Some (\"./contracts/tests/CTokenTest.py\" 200)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 67)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 67)) static_id 0)) \"last\") (unknown 61))) ((Some (\"./contracts/tests/CTokenTest.py\" 266)) pack ((Some (\"./contracts/tests/CTokenTest.py\" 266)) type_annotation ((Some (\"./contracts/tests/CTokenTest.py\" 266)) variant \"Some\" ((Some (\"./contracts/tests/CTokenTest.py\" 266)) literal (intOrNat 30))) (unknown 61))))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 266))" + }, + { + "action": "html", + "inner": "Mint new tokens and check balance", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 267))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 42))", + "sender": "seed:Alice" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 269))", + "message": "mint", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 269)) literal (intOrNat 100))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 269)) literal (intOrNat 42))", + "sender": "seed:Alice" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 270))", + "message": "getBalanceOfUnderlying", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 270)) tuple ((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\")) ((Some (\"./contracts/tests/CTokenTest.py\" 67)) contract_typed ((Some (\"./contracts/tests/CTokenTest.py\" 67)) static_id 0) \"targetNat\"))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 270)) literal (intOrNat 42))", + "sender": "seed:Alice" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 271)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 271)) pack ((Some (\"./contracts/tests/CTokenTest.py\" 271)) type_annotation ((Some (\"./contracts/tests/CTokenTest.py\" 200)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 67)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 67)) static_id 0)) \"last\") (unknown 62))) ((Some (\"./contracts/tests/CTokenTest.py\" 271)) pack ((Some (\"./contracts/tests/CTokenTest.py\" 271)) type_annotation ((Some (\"./contracts/tests/CTokenTest.py\" 271)) variant \"Some\" ((Some (\"./contracts/tests/CTokenTest.py\" 271)) literal (intOrNat 130))) (unknown 62))))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 271))" + }, + { + "action": "html", + "inner": "Try with nonexistent account", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 272))", + "tag": "h3" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 273))", + "message": "getBalanceOfUnderlying", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 273)) tuple ((Some (\"./contracts/tests/CTokenTest.py\" 46)) literal (address \"KT10\")) ((Some (\"./contracts/tests/CTokenTest.py\" 67)) contract_typed ((Some (\"./contracts/tests/CTokenTest.py\" 67)) static_id 0) \"targetNat\"))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 273)) literal (intOrNat 42))", + "sender": "seed:Alice", + "valid": "((Some (\"./contracts/tests/CTokenTest.py\" 273)) literal (bool False))" + }, + { + "action": "html", + "inner": "Test getAccountSnapshot", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 275))", + "tag": "h2" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"contracts/tests/utils/DataRelevance.py\" 44))", + "message": "accrueInterest", + "params": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) record )", + "level": "((Some (\"contracts/tests/utils/DataRelevance.py\" 44)) literal (intOrNat 43))", + "sender": "seed:Alice" + }, + { + "action": "message", + "id": "((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 277))", + "message": "updateAccountSnapshot", + "params": "((Some (\"./contracts/tests/CTokenTest.py\" 55)) resolve ((Some (\"./contracts/tests/CTokenTest.py\" 55)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 55)) account_of_seed \"Alice\") \"address\"))", + "level": "((Some (\"./contracts/tests/CTokenTest.py\" 277)) literal (intOrNat 43))", + "sender": "seed:Alice" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 278)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 278)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 277)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"accCTokenBalance\") ((Some (\"./contracts/tests/CTokenTest.py\" 278)) literal (nat 129723817)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 278))" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 279)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 279)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 277)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"accBorrowBalance\") ((Some (\"./contracts/tests/CTokenTest.py\" 279)) literal (nat 0)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 279))" + }, + { + "action": "verify", + "condition": "((Some (\"./contracts/tests/CTokenTest.py\" 280)) eq ((Some (\"./contracts/tests/CTokenTest.py\" 280)) attr ((Some (\"./contracts/tests/CTokenTest.py\" 277)) contract_data ((Some (\"./contracts/tests/CTokenTest.py\" 93)) static_id 3)) \"accExchangeRateMantissa\") ((Some (\"./contracts/tests/CTokenTest.py\" 280)) literal (nat 1003785157872)))", + "line_no": "(Some (\"./contracts/tests/CTokenTest.py\" 280))" } ], "kind": "test" diff --git a/TezFinTest/script_init.py b/TezFinTest/script_init.py index a8251992..66a29adf 100644 --- a/TezFinTest/script_init.py +++ b/TezFinTest/script_init.py @@ -1,75 +1,280 @@ import smartpy as sp +import json -SweepTokens = sp.io.import_script_from_url("file:contracts/utils/SweepTokens.py") -FA12Mock = sp.io.import_script_from_url("file:contracts/tests/mock/FA12Mock.py") +CToken = sp.io.import_script_from_url("file:contracts/CToken.py") +IRM = sp.io.import_script_from_url("file:contracts/tests/mock/InterestRateModelMock.py") +CMPT = sp.io.import_script_from_url("file:contracts/tests/mock/ComptrollerMock.py") +BlockLevel = sp.io.import_script_from_url("file:contracts/tests/utils/BlockLevel.py") +RV = sp.io.import_script_from_url("file:contracts/tests//utils/ResultViewer.py") +TestAdminFunctionality = sp.io.import_script_from_url("file:contracts/tests/utils/TestAdminFunctionality.py") +DataRelevance = sp.io.import_script_from_url("file:contracts/tests/utils/DataRelevance.py") -class TestSweepTokens(SweepTokens.SweepTokens): - def __init__(self, admin): - self.init(administrator = admin) - @sp.entry_point - def verifyMutezBalance(self, value): - sp.verify(sp.utils.mutez_to_nat(sp.balance) == value) +class TestCToken(CToken.CToken): + def __init__(self, comptroller_, interestRateModel_, initialExchangeRateMantissa_, administrator_, metadata_, token_metadata_, **extra_storage): + CToken.CToken.__init__(self, comptroller_, interestRateModel_, initialExchangeRateMantissa_, administrator_, metadata_, token_metadata_, + accCTokenBalance=sp.nat(0), accBorrowBalance=sp.nat(0), accExchangeRateMantissa=sp.nat(0)) + + def getCashImpl(self): + return self.data.totalSupply // sp.nat(int(1e6)) -class TestAdminContract(sp.Contract): - def __init__(self, admin): - self.init(administrator = admin) + def doTransferIn(self, from_, amount): + return amount + + @sp.entry_point + def updateAccountSnapshot(self, account): + sp.transfer(sp.pair(account, sp.self_entry_point("setAccountSnapshot")), sp.mutez(0), sp.self_entry_point("getAccountSnapshot")) @sp.entry_point - def stubFn(self, params): - sp.set_type(params, sp.TUnit) + def setAccountSnapshot(self, params): + sp.set_type(params, CToken.CTI.TAccountSnapshot) + self.data.accCTokenBalance = params.cTokenBalance + self.data.accBorrowBalance = params.borrowBalance + self.data.accExchangeRateMantissa = params.exchangeRateMantissa @sp.entry_point - def receive(self, params): - sp.set_type(params, sp.TUnit) + def setActiveOp(self, params): + sp.set_type(params, sp.TNat) + self.activateOp(params) -@sp.add_test(name = "SweepTokens_Tests") +@sp.add_test(name = "CToken_Tests") def test(): - admin = sp.test_account("admin") + exchange_rate = int(1e12) + ctoken_decimals = int(1e6) + bLevel = BlockLevel.BlockLevel() + collateralToken = sp.address("KT10") scenario = sp.test_scenario() - scenario.add_flag("protocol", "florence") + scenario.add_flag("protocol", "lima") scenario.table_of_contents() - scenario.h1("SweepTokens tests") + scenario.h1("CToken tests") - fa12 = FA12Mock.FA12Mock() - c1 = TestSweepTokens(admin.address) + # Test accounts + alice = sp.test_account("Alice") + bob = sp.test_account("Bob") + carl = sp.test_account("Carl") + admin = sp.test_account("admin") + + scenario.h2("Accounts") + scenario.show([alice, bob, admin]) + + # Contracts + scenario.h2("Contracts") + view_result = RV.ViewerNat() + cmpt = CMPT.ComptrollerMock() + scenario += view_result + scenario += cmpt + irm = IRM.InterestRateModelMock(borrowRate_=sp.nat(80000000000), supplyRate_=sp.nat(180000000000)) + scenario += irm + c1 = TestCToken(comptroller_=cmpt.address, + interestRateModel_=irm.address, + initialExchangeRateMantissa_=sp.nat(exchange_rate), + administrator_=admin.address, + metadata_=sp.big_map({ + "": sp.utils.bytes_of_string("tezos-storage:data"), + "data": sp.utils.bytes_of_string(json.dumps({ + "name": "...", + "description": "...", + "version": "1.0.0", + "authors": ["ewqenqjw"], + "homepage": "https://some-website.com", + "interfaces": ["TZIP-007"], + "license": {"name": "..."} + })) + }), + token_metadata_={ + "name": sp.utils.bytes_of_string("Compound token"), + "symbol": sp.utils.bytes_of_string("cToken"), + "decimals": sp.utils.bytes_of_string("x"), + }) - scenario += fa12 scenario += c1 + scenario.h2("Try borrow when there is no cash") + scenario += c1.borrow(100).run(sender=alice, level=bLevel.current(), valid=False) + + scenario.h2("Test getAccountSnapshot for nonexistent account") + scenario += c1.updateAccountSnapshot(bob.address).run(sender = bob, level = bLevel.next()) + scenario.verify(c1.data.accCTokenBalance == sp.nat(0)) + scenario.verify(c1.data.accBorrowBalance == sp.nat(0)) + scenario.verify(c1.data.accExchangeRateMantissa == sp.nat(0)) + + scenario.h2("Test mint") + scenario.h3("Mint allowed") + DataRelevance.validateAccrueInterestRelevance(scenario, "mint", bLevel, alice, c1, c1.mint, 100) + scenario.verify(c1.data.ledger[alice.address].balance == sp.nat(100 * ctoken_decimals)) + scenario.h3("Mint not allowed") + scenario += cmpt.setMintAllowed(sp.bool(False)) + DataRelevance.updateAccrueInterest(scenario, bLevel, alice, c1) + scenario += c1.mint(100).run(sender=alice, level=bLevel.current(), valid=False) + scenario.h3("Mint allowed again") + scenario += cmpt.setMintAllowed(sp.bool(True)) + DataRelevance.updateAccrueInterest(scenario, bLevel, alice, c1) + scenario += c1.mint(1000).run(sender=bob, level=bLevel.current()) + scenario.verify(c1.data.ledger[bob.address].balance == sp.nat(1000 * ctoken_decimals)) + scenario.h3("Try mint in callback") + scenario += c1.getCash(sp.pair(sp.unit, c1.typed.mint)).run(sender=alice, level=bLevel.next(), valid=False) + + scenario.h2("Test Borrow") + scenario.h3("Borrow allowed") + DataRelevance.validateAllRelevance(scenario, "borrow", bLevel, carl, c1, c1.borrow, 10, cmpt, c1.address, carl.address) + scenario.verify(c1.data.ledger[carl.address].balance == sp.nat(0)) + scenario.verify(c1.data.borrows[carl.address].principal == sp.nat(10)) + scenario.h3("Borrow not allowed") + scenario += cmpt.setBorrowAllowed(sp.bool(False)) + DataRelevance.updateAccrueInterest(scenario, bLevel, alice, c1) + scenario += c1.borrow(10).run(sender=carl, level=bLevel.next(), valid=False) + scenario.h3("Borrow allowed again") + DataRelevance.updateAllRelevance(scenario, bLevel, carl, c1, cmpt, c1.address, carl.address) + scenario += cmpt.setBorrowAllowed(sp.bool(True)) + scenario += c1.borrow(10).run(sender=alice, level=bLevel.current()) + scenario.verify(c1.data.ledger[alice.address].balance == sp.nat(100 * ctoken_decimals)) + scenario.verify(c1.data.borrows[alice.address].principal == sp.nat(10)) + scenario.h3("Try borrow with insufficient cash") + DataRelevance.updateAccrueInterest(scenario, bLevel, alice, c1) + scenario += c1.borrow(1100 * ctoken_decimals + 1).run(sender=carl, level=bLevel.current(), valid=False) + scenario.h3("Try borrow in callback") + scenario += c1.getCash(sp.pair(sp.unit, c1.typed.borrow)).run(sender=alice, level=bLevel.current(), valid=False) + + scenario.h2("Test Redeem") + scenario.h3("Redeem allowed") + DataRelevance.validateAllRelevance(scenario, "redeem", bLevel, alice, c1, c1.redeem, 50 * ctoken_decimals, cmpt, c1.address, alice.address) + scenario.verify(c1.data.ledger[alice.address].balance == sp.nat(50 * ctoken_decimals)) + scenario.h3("Redeem not allowed") + scenario += cmpt.setRedeemAllowed(sp.bool(False)) + DataRelevance.updateAllRelevance(scenario, bLevel, carl, c1, cmpt, c1.address, carl.address) + scenario += c1.redeem(10 * ctoken_decimals).run(sender=alice, level=bLevel.current(), valid=False) + scenario.h3("Redeem allowed again") + DataRelevance.updateAllRelevance(scenario, bLevel, carl, c1, cmpt, c1.address, carl.address) + scenario += cmpt.setRedeemAllowed(sp.bool(True)) + scenario += c1.redeem(10 * ctoken_decimals).run(sender=alice, level=bLevel.current()) + scenario.verify(c1.data.ledger[alice.address].balance == sp.nat(40 * ctoken_decimals)) + scenario.h3("Try redeem with insufficient balance") + DataRelevance.updateAllRelevance(scenario, bLevel, carl, c1, cmpt, c1.address, carl.address) + scenario += c1.redeem(50 * ctoken_decimals).run(sender=alice, level=bLevel.current(), valid=False) + scenario.h3("Redeem underlying") + DataRelevance.updateAllRelevance(scenario, bLevel, carl, c1, cmpt, c1.address, carl.address) + scenario += c1.redeemUnderlying(10).run(sender=alice, level=bLevel.current()) + scenario.verify(c1.data.ledger[alice.address].balance == sp.nat(30188679)) # due to exchange rate changes: 10 underlying < 10 000 000 CToken + scenario.h3("Try redeem in callback") + scenario += c1.getCash(sp.pair(sp.unit, c1.typed.redeem)).run(sender=alice, level=bLevel.next(), valid=False) + scenario.h3("Try redeem underlying in callback") + scenario += c1.getCash(sp.pair(sp.unit, c1.typed.redeemUnderlying)).run(sender=alice, level=bLevel.next(), valid=False) + + scenario.h2("Test Repay borrow") + scenario.h3("Repay borrow allowed") + DataRelevance.validateAccrueInterestRelevance(scenario, "repayBorrow", bLevel, alice, c1, c1.repayBorrow, 1) + scenario.verify(c1.data.borrows[alice.address].principal == sp.nat(9)) + scenario.h3("Repay borrow not allowed") + scenario += cmpt.setRepayBorrowAllowed(sp.bool(False)) + DataRelevance.updateAccrueInterest(scenario, bLevel, carl, c1) + scenario += c1.repayBorrow(1).run(sender=alice, level=bLevel.current(), valid=False) + scenario.h3("Repay borrow allowed again") + DataRelevance.updateAccrueInterest(scenario, bLevel, carl, c1) + scenario += cmpt.setRepayBorrowAllowed(sp.bool(True)) + scenario += c1.repayBorrow(1).run(sender=alice, level=bLevel.current()) + scenario.verify(c1.data.borrows[alice.address].principal == sp.nat(8)) + scenario.h3("Repay borrow behalf") + DataRelevance.updateAccrueInterest(scenario, bLevel, carl, c1) + scenario += c1.repayBorrowBehalf(sp.record(borrower=alice.address, repayAmount=sp.nat(1))).run(sender=bob, level=bLevel.current()) + scenario.verify(c1.data.borrows[alice.address].principal == sp.nat(7)) + scenario.h3("Repay more than borrowed") + DataRelevance.updateAccrueInterest(scenario, bLevel, carl, c1) + scenario += c1.repayBorrow(1007).run(sender=alice, level=bLevel.current()) + scenario.show(c1.data.borrows[alice.address].principal) + scenario.verify(c1.data.borrows[alice.address].principal == sp.nat(0)) + scenario.h3("Try repayBorrow in callback") + scenario += c1.getCash(sp.pair(sp.unit, c1.typed.redeem)).run(sender=alice, level=bLevel.current(), valid=False) + + + scenario.h2("Test transfer") + scenario.h3("No tokens to transfer") + scenario += c1.transfer(from_=carl.address, to_=alice.address, value=100).run(sender=carl, level=bLevel.next(), valid=False) + scenario.h3("No approved tokens to transfer") + scenario += c1.transfer(from_=alice.address, to_=carl.address, value=100).run(sender=carl, level=bLevel.next(), valid=False) + scenario.h3("Transfer successfully") + scenario += c1.transfer(from_=alice.address, to_=carl.address, value=100).run(sender=alice, level=bLevel.next()) + scenario += c1.getBalance(sp.pair(carl.address, view_result.typed.targetNat)).run(sender=carl, level=bLevel.next()) + scenario.verify_equal(view_result.data.last, sp.some(100)) + scenario.h3("Approve and transfer successfully") + scenario += c1.approve(spender=alice.address, value=100).run(sender=carl, level=bLevel.next()) + scenario += c1.getAllowance(sp.pair(sp.record(owner=carl.address, spender=alice.address), view_result.typed.targetNat)).run(sender=carl, level=bLevel.next()) + scenario.verify_equal(view_result.data.last, sp.some(100)) + scenario += c1.transfer(from_=carl.address, to_=alice.address, value=100).run(sender=alice, level=bLevel.next()) + scenario.verify(c1.data.ledger[carl.address].balance == sp.nat(0)) + + scenario.h2("Admin functions") + scenario.h3("Pending governance") + TestAdminFunctionality.checkAdminRequirementH4(scenario, "set pending governance", bLevel, admin, alice, c1.setPendingGovernance, bob.address) + + scenario.h3("Accept governance") + scenario.h4("Not pending admin attempts to accept governance") + scenario += c1.acceptGovernance(sp.unit).run(sender=admin, level=bLevel.next(), valid=False) + scenario.h4("Pending admin attempts to accept governance") + scenario += c1.acceptGovernance(sp.unit).run(sender=bob, level=bLevel.next()) + scenario.verify(c1.data.administrator == bob.address) + scenario.verify(c1.data.pendingAdministrator == sp.none) + + # [CONSISTENCY] return governance back to test account "admin" + scenario += c1.setPendingGovernance(admin.address).run(sender=bob, level=bLevel.next()) + scenario += c1.acceptGovernance(sp.unit).run(sender=admin, level=bLevel.next()) + + scenario.h3("Remove pending governance") + # Bob is waiting for governance + scenario += c1.setPendingGovernance(bob.address).run(sender=admin, level=bLevel.next()) + TestAdminFunctionality.checkAdminRequirementH4(scenario, "remove pending governance", bLevel, admin, alice, c1.removePendingGovernance, sp.unit) + scenario.verify(c1.data.pendingAdministrator == sp.none) + + scenario.h3("Set comptroller") + TestAdminFunctionality.checkAdminRequirementH4(scenario, "set comptroller", bLevel, admin, alice, c1.setComptroller, cmpt.address) + scenario.verify(c1.data.comptroller == cmpt.address) + + scenario.h3("Set interest rate model") + TestAdminFunctionality.checkAdminRequirementH4(scenario, "set interest rate model", bLevel, admin, alice, c1.setInterestRateModel, irm.address) + scenario.verify(c1.data.interestRateModel == irm.address) - scenario.h2("Test sweep to account") - scenario.h3("sweepFA12") - scenario += fa12.mint(sp.record(address = c1.address, value = 1000)) - scenario += c1.sweepFA12(sp.record(tokenAddress = fa12.address, amount = 600)) - scenario.verify(fa12.data.balances[c1.address].balance == 400) - scenario.verify(fa12.data.balances[admin.address].balance == 600) + scenario.h3("Set reserve factor") + reserveFactorArg = sp.nat(1) + TestAdminFunctionality.checkAdminRequirementH4(scenario, "Set reserve factor", bLevel, admin, alice, c1.setReserveFactor, reserveFactorArg) + scenario.verify(c1.data.reserveFactorMantissa == reserveFactorArg) - scenario.h3("sweepFA12 insufficient") - scenario += c1.sweepFA12(sp.record(tokenAddress = fa12.address, amount = 600)).run(valid=False) + scenario.h3("Add reserves") + amountArg = sp.nat(10) + scenario += c1.addReserves(amountArg).run(sender = alice, level = bLevel.next()) + scenario.h4("Try add reserves in callback") + scenario += c1.getCash(sp.pair(sp.unit, c1.typed.addReserves)).run(sender=alice, level=bLevel.next(), valid=False) - scenario.h3("sweepMutez") - scenario += c1.verifyMutezBalance(100).run(amount=sp.mutez(100)) - scenario += c1.sweepMutez(sp.bool(False)) - scenario += c1.verifyMutezBalance(0) + scenario.h3("Reduce reserves") + amountArg = sp.nat(5) + TestAdminFunctionality.checkAdminRequirementH4(scenario, "reduce reserves", bLevel, admin, alice, c1.reduceReserves, amountArg) + scenario.h4("Try to reduce insufficient") + scenario += c1.reduceReserves(sp.nat(int(1e20))).run(sender = admin, level = bLevel.next(), valid=False) + scenario.h3("Check hardResetOp") + scenario += c1.setActiveOp(1).run(sender = admin, level = bLevel.next()) + scenario.verify(sp.len(c1.data.activeOperations) == sp.nat(1)) + TestAdminFunctionality.checkAdminRequirementH4(scenario, "hardResetOp", bLevel, admin, alice, c1.hardResetOp, sp.unit) + scenario.verify(sp.len(c1.data.activeOperations) == sp.nat(0)) - scenario.h2("Test sweep to contract") - adminContract = TestAdminContract(admin.address) - c2 = TestSweepTokens(adminContract.address) - scenario += adminContract - scenario += c2 - scenario.h3("sweepFA12") - scenario += fa12.mint(sp.record(address = c2.address, value = 500)) - scenario += c2.sweepFA12(sp.record(tokenAddress = fa12.address, amount = 200)) - scenario.verify(fa12.data.balances[c2.address].balance == 300) - scenario.verify(fa12.data.balances[adminContract.address].balance == 200) + #Test views + scenario.h2("Test getBalanceOfUnderlying") + scenario.h3("View stored balance") + scenario += c1.getBalanceOfUnderlying(sp.pair(alice.address, view_result.typed.targetNat)).run(sender = alice, level = bLevel.next()) + scenario.verify_equal(view_result.data.last, sp.some(30)) + scenario.h3("Mint new tokens and check balance") + DataRelevance.updateAccrueInterest(scenario, bLevel, alice, c1) + scenario += c1.mint(100).run(sender=alice, level=bLevel.current()) + scenario += c1.getBalanceOfUnderlying(sp.pair(alice.address, view_result.typed.targetNat)).run(sender = alice, level = bLevel.current()) + scenario.verify_equal(view_result.data.last, sp.some(130)) + scenario.h3("Try with nonexistent account") + scenario += c1.getBalanceOfUnderlying(sp.pair(collateralToken, view_result.typed.targetNat)).run(sender = alice, level = bLevel.current(), valid=False) - scenario.h3("sweepMutez") - scenario += c2.verifyMutezBalance(100).run(amount=sp.mutez(100)) - scenario += c2.sweepMutez(sp.bool(True)) - scenario += c2.verifyMutezBalance(0) + scenario.h2("Test getAccountSnapshot") + DataRelevance.updateAccrueInterest(scenario, bLevel, alice, c1) + scenario += c1.updateAccountSnapshot(alice.address).run(sender = alice, level = bLevel.current()) + scenario.verify(c1.data.accCTokenBalance == sp.nat(129723817)) + scenario.verify(c1.data.accBorrowBalance == sp.nat(0)) + scenario.verify(c1.data.accExchangeRateMantissa == sp.nat(1003785157872)) diff --git a/TezFinTest/script_pure.py b/TezFinTest/script_pure.py index a8251992..9c53a689 100644 --- a/TezFinTest/script_pure.py +++ b/TezFinTest/script_pure.py @@ -1,75 +1,280 @@ import smartpy as sp +import json -SweepTokens = sp.io.import_script_from_url("file:contracts/utils/SweepTokens.py") -FA12Mock = sp.io.import_script_from_url("file:contracts/tests/mock/FA12Mock.py") +CToken = sp.io.import_script_from_url("file:contracts/CToken.py") +IRM = sp.io.import_script_from_url("file:contracts/tests/mock/InterestRateModelMock.py") +CMPT = sp.io.import_script_from_url("file:contracts/tests/mock/ComptrollerMock.py") +BlockLevel = sp.io.import_script_from_url("file:contracts/tests/utils/BlockLevel.py") +RV = sp.io.import_script_from_url("file:contracts/tests//utils/ResultViewer.py") +TestAdminFunctionality = sp.io.import_script_from_url("file:contracts/tests/utils/TestAdminFunctionality.py") +DataRelevance = sp.io.import_script_from_url("file:contracts/tests/utils/DataRelevance.py") -class TestSweepTokens(SweepTokens.SweepTokens): - def __init__(self, admin): - self.init(administrator = admin) - @sp.entry_point - def verifyMutezBalance(self, value): - sp.verify(sp.utils.mutez_to_nat(sp.balance) == value) +class TestCToken(CToken.CToken): + def __init__(self, comptroller_, interestRateModel_, initialExchangeRateMantissa_, administrator_, metadata_, token_metadata_, **extra_storage): + CToken.CToken.__init__(self, comptroller_, interestRateModel_, initialExchangeRateMantissa_, administrator_, metadata_, token_metadata_, + accCTokenBalance=sp.nat(0), accBorrowBalance=sp.nat(0), accExchangeRateMantissa=sp.nat(0)) + + def getCashImpl(self): + return self.data.totalSupply // sp.nat(int(1e6)) -class TestAdminContract(sp.Contract): - def __init__(self, admin): - self.init(administrator = admin) + def doTransferIn(self, from_, amount): + return amount + + @sp.entry_point + def updateAccountSnapshot(self, account): + sp.transfer(sp.pair(account, sp.self_entry_point("setAccountSnapshot")), sp.mutez(0), sp.self_entry_point("getAccountSnapshot")) @sp.entry_point - def stubFn(self, params): - sp.set_type(params, sp.TUnit) + def setAccountSnapshot(self, params): + sp.set_type(params, CToken.CTI.TAccountSnapshot) + self.data.accCTokenBalance = params.cTokenBalance + self.data.accBorrowBalance = params.borrowBalance + self.data.accExchangeRateMantissa = params.exchangeRateMantissa @sp.entry_point - def receive(self, params): - sp.set_type(params, sp.TUnit) + def setActiveOp(self, params): + sp.set_type(params, sp.TNat) + self.activateOp(params) -@sp.add_test(name = "SweepTokens_Tests") +@sp.add_test(name = "CToken_Tests") def test(): - admin = sp.test_account("admin") + exchange_rate = int(1e12) + ctoken_decimals = int(1e6) + bLevel = BlockLevel.BlockLevel() + collateralToken = sp.address("KT10") scenario = sp.test_scenario() - scenario.add_flag("protocol", "florence") + scenario.add_flag("protocol", "lima") scenario.table_of_contents() - scenario.h1("SweepTokens tests") + scenario.h1("CToken tests") - fa12 = FA12Mock.FA12Mock() - c1 = TestSweepTokens(admin.address) + # Test accounts + alice = sp.test_account("Alice") + bob = sp.test_account("Bob") + carl = sp.test_account("Carl") + admin = sp.test_account("admin") + + scenario.h2("Accounts") + scenario.show([alice, bob, admin]) + + # Contracts + scenario.h2("Contracts") + view_result = RV.ViewerNat() + cmpt = CMPT.ComptrollerMock() + scenario += view_result + scenario += cmpt + irm = IRM.InterestRateModelMock(borrowRate_=sp.nat(80000000000), supplyRate_=sp.nat(180000000000)) + scenario += irm + c1 = TestCToken(comptroller_=cmpt.address, + interestRateModel_=irm.address, + initialExchangeRateMantissa_=sp.nat(exchange_rate), + administrator_=admin.address, + metadata_=sp.big_map({ + "": sp.utils.bytes_of_string("tezos-storage:data"), + "data": sp.utils.bytes_of_string(json.dumps({ + "name": "...", + "description": "...", + "version": "1.0.0", + "authors": ["ewqenqjw"], + "homepage": "https://some-website.com", + "interfaces": ["TZIP-007"], + "license": {"name": "..."} + })) + }), + token_metadata_={ + "name": sp.utils.bytes_of_string("Compound token"), + "symbol": sp.utils.bytes_of_string("cToken"), + "decimals": sp.utils.bytes_of_string("x"), + }) - scenario += fa12 scenario += c1 + scenario.h2("Try borrow when there is no cash") + scenario += c1.borrow(100).run(sender=alice, level=bLevel.current(), valid=False) + + scenario.h2("Test getAccountSnapshot for nonexistent account") + scenario += c1.updateAccountSnapshot(bob.address).run(sender = bob, level = bLevel.next()) + scenario.verify(c1.data.accCTokenBalance == sp.nat(0)) + scenario.verify(c1.data.accBorrowBalance == sp.nat(0)) + scenario.verify(c1.data.accExchangeRateMantissa == sp.nat(0)) + + scenario.h2("Test mint") + scenario.h3("Mint allowed") + DataRelevance.validateAccrueInterestRelevance(scenario, "mint", bLevel, alice, c1, c1.mint, 100) + scenario.verify(c1.data.ledger[alice.address].balance == sp.nat(100 * ctoken_decimals)) + scenario.h3("Mint not allowed") + scenario += cmpt.setMintAllowed(sp.bool(False)) + DataRelevance.updateAccrueInterest(scenario, bLevel, alice, c1) + scenario += c1.mint(100).run(sender=alice, level=bLevel.current(), valid=False) + scenario.h3("Mint allowed again") + scenario += cmpt.setMintAllowed(sp.bool(True)) + DataRelevance.updateAccrueInterest(scenario, bLevel, alice, c1) + scenario += c1.mint(1000).run(sender=bob, level=bLevel.current()) + scenario.verify(c1.data.ledger[bob.address].balance == sp.nat(1000 * ctoken_decimals)) + scenario.h3("Try mint in callback") + scenario += c1.getCash(sp.pair(sp.unit, c1.typed.mint)).run(sender=alice, level=bLevel.next(), valid=False) + + scenario.h2("Test Borrow") + scenario.h3("Borrow allowed") + DataRelevance.validateAllRelevance(scenario, "borrow", bLevel, carl, c1, c1.borrow, 10, cmpt, c1.address, carl.address) + scenario.verify(c1.data.ledger[carl.address].balance == sp.nat(0)) + scenario.verify(c1.data.borrows[carl.address].principal == sp.nat(10)) + scenario.h3("Borrow not allowed") + scenario += cmpt.setBorrowAllowed(sp.bool(False)) + DataRelevance.updateAccrueInterest(scenario, bLevel, alice, c1) + scenario += c1.borrow(10).run(sender=carl, level=bLevel.next(), valid=False) + scenario.h3("Borrow allowed again") + DataRelevance.updateAllRelevance(scenario, bLevel, carl, c1, cmpt, c1.address, carl.address) + scenario += cmpt.setBorrowAllowed(sp.bool(True)) + scenario += c1.borrow(10).run(sender=alice, level=bLevel.current()) + scenario.verify(c1.data.ledger[alice.address].balance == sp.nat(100 * ctoken_decimals)) + scenario.verify(c1.data.borrows[alice.address].principal == sp.nat(10)) + scenario.h3("Try borrow with insufficient cash") + DataRelevance.updateAccrueInterest(scenario, bLevel, alice, c1) + scenario += c1.borrow(1100 * ctoken_decimals + 1).run(sender=carl, level=bLevel.current(), valid=False) + scenario.h3("Try borrow in callback") + scenario += c1.getCash(sp.pair(sp.unit, c1.typed.borrow)).run(sender=alice, level=bLevel.current(), valid=False) + + scenario.h2("Test Redeem") + scenario.h3("Redeem allowed") + DataRelevance.validateAllRelevance(scenario, "redeem", bLevel, alice, c1, c1.redeem, 50 * ctoken_decimals, cmpt, c1.address, alice.address) + scenario.verify(c1.data.ledger[alice.address].balance == sp.nat(50 * ctoken_decimals)) + scenario.h3("Redeem not allowed") + scenario += cmpt.setRedeemAllowed(sp.bool(False)) + DataRelevance.updateAllRelevance(scenario, bLevel, carl, c1, cmpt, c1.address, carl.address) + scenario += c1.redeem(10 * ctoken_decimals).run(sender=alice, level=bLevel.current(), valid=False) + scenario.h3("Redeem allowed again") + DataRelevance.updateAllRelevance(scenario, bLevel, carl, c1, cmpt, c1.address, carl.address) + scenario += cmpt.setRedeemAllowed(sp.bool(True)) + scenario += c1.redeem(10 * ctoken_decimals).run(sender=alice, level=bLevel.current()) + scenario.verify(c1.data.ledger[alice.address].balance == sp.nat(40 * ctoken_decimals)) + scenario.h3("Try redeem with insufficient balance") + DataRelevance.updateAllRelevance(scenario, bLevel, carl, c1, cmpt, c1.address, carl.address) + scenario += c1.redeem(50 * ctoken_decimals).run(sender=alice, level=bLevel.current(), valid=False) + scenario.h3("Redeem underlying") + DataRelevance.updateAllRelevance(scenario, bLevel, carl, c1, cmpt, c1.address, carl.address) + scenario += c1.redeemUnderlying(10).run(sender=alice, level=bLevel.current()) + scenario.verify(c1.data.ledger[alice.address].balance == sp.nat(30188679)) # due to exchange rate changes: 10 underlying < 10 000 000 CToken + scenario.h3("Try redeem in callback") + scenario += c1.getCash(sp.pair(sp.unit, c1.typed.redeem)).run(sender=alice, level=bLevel.next(), valid=False) + scenario.h3("Try redeem underlying in callback") + scenario += c1.getCash(sp.pair(sp.unit, c1.typed.redeemUnderlying)).run(sender=alice, level=bLevel.next(), valid=False) + + scenario.h2("Test Repay borrow") + scenario.h3("Repay borrow allowed") + DataRelevance.validateAccrueInterestRelevance(scenario, "repayBorrow", bLevel, alice, c1, c1.repayBorrow, 1) + scenario.verify(c1.data.borrows[alice.address].principal == sp.nat(9)) + scenario.h3("Repay borrow not allowed") + scenario += cmpt.setRepayBorrowAllowed(sp.bool(False)) + DataRelevance.updateAccrueInterest(scenario, bLevel, carl, c1) + scenario += c1.repayBorrow(1).run(sender=alice, level=bLevel.current(), valid=False) + scenario.h3("Repay borrow allowed again") + DataRelevance.updateAccrueInterest(scenario, bLevel, carl, c1) + scenario += cmpt.setRepayBorrowAllowed(sp.bool(True)) + scenario += c1.repayBorrow(1).run(sender=alice, level=bLevel.current()) + scenario.verify(c1.data.borrows[alice.address].principal == sp.nat(8)) + scenario.h3("Repay borrow behalf") + DataRelevance.updateAccrueInterest(scenario, bLevel, carl, c1) + scenario += c1.repayBorrowBehalf(sp.record(borrower=alice.address, repayAmount=sp.nat(1))).run(sender=bob, level=bLevel.current()) + scenario.verify(c1.data.borrows[alice.address].principal == sp.nat(7)) + scenario.h3("Repay more than borrowed") + DataRelevance.updateAccrueInterest(scenario, bLevel, carl, c1) + scenario += c1.repayBorrow(1007).run(sender=alice, level=bLevel.current()) + scenario.show(c1.data.borrows[alice.address].principal) + scenario.verify(c1.data.borrows[alice.address].principal == sp.nat(0)) + scenario.h3("Try repayBorrow in callback") + scenario += c1.getCash(sp.pair(sp.unit, c1.typed.redeem)).run(sender=alice, level=bLevel.current(), valid=False) + + + scenario.h2("Test transfer") + scenario.h3("No tokens to transfer") + scenario += c1.transfer(from_=carl.address, to_=alice.address, value=100).run(sender=carl, level=bLevel.next(), valid=False) + scenario.h3("No approved tokens to transfer") + scenario += c1.transfer(from_=alice.address, to_=carl.address, value=100).run(sender=carl, level=bLevel.next(), valid=False) + scenario.h3("Transfer successfully") + scenario += c1.transfer(from_=alice.address, to_=carl.address, value=100).run(sender=alice, level=bLevel.next()) + scenario += c1.getBalance(sp.pair(carl.address, view_result.typed.targetNat)).run(sender=carl, level=bLevel.next()) + scenario.verify_equal(view_result.data.last, sp.some(100)) + scenario.h3("Approve and transfer successfully") + scenario += c1.approve(spender=alice.address, value=100).run(sender=carl, level=bLevel.next()) + scenario += c1.getAllowance(sp.pair(sp.record(owner=carl.address, spender=alice.address), view_result.typed.targetNat)).run(sender=carl, level=bLevel.next()) + scenario.verify_equal(view_result.data.last, sp.some(100)) + scenario += c1.transfer(from_=carl.address, to_=alice.address, value=100).run(sender=alice, level=bLevel.next()) + scenario.verify(c1.data.ledger[carl.address].balance == sp.nat(0)) + + scenario.h2("Admin functions") + scenario.h3("Pending governance") + TestAdminFunctionality.checkAdminRequirementH4(scenario, "set pending governance", bLevel, admin, alice, c1.setPendingGovernance, bob.address) + + scenario.h3("Accept governance") + scenario.h4("Not pending admin attempts to accept governance") + scenario += c1.acceptGovernance(sp.unit).run(sender=admin, level=bLevel.next(), valid=False) + scenario.h4("Pending admin attempts to accept governance") + scenario += c1.acceptGovernance(sp.unit).run(sender=bob, level=bLevel.next()) + scenario.verify(c1.data.administrator == bob.address) + scenario.verify(c1.data.pendingAdministrator == sp.none) + + # [CONSISTENCY] return governance back to test account "admin" + scenario += c1.setPendingGovernance(admin.address).run(sender=bob, level=bLevel.next()) + scenario += c1.acceptGovernance(sp.unit).run(sender=admin, level=bLevel.next()) + + scenario.h3("Remove pending governance") + # Bob is waiting for governance + scenario += c1.setPendingGovernance(bob.address).run(sender=admin, level=bLevel.next()) + TestAdminFunctionality.checkAdminRequirementH4(scenario, "remove pending governance", bLevel, admin, alice, c1.removePendingGovernance, sp.unit) + scenario.verify(c1.data.pendingAdministrator == sp.none) + + scenario.h3("Set comptroller") + TestAdminFunctionality.checkAdminRequirementH4(scenario, "set comptroller", bLevel, admin, alice, c1.setComptroller, cmpt.address) + scenario.verify(c1.data.comptroller == cmpt.address) + + scenario.h3("Set interest rate model") + TestAdminFunctionality.checkAdminRequirementH4(scenario, "set interest rate model", bLevel, admin, alice, c1.setInterestRateModel, irm.address) + scenario.verify(c1.data.interestRateModel == irm.address) - scenario.h2("Test sweep to account") - scenario.h3("sweepFA12") - scenario += fa12.mint(sp.record(address = c1.address, value = 1000)) - scenario += c1.sweepFA12(sp.record(tokenAddress = fa12.address, amount = 600)) - scenario.verify(fa12.data.balances[c1.address].balance == 400) - scenario.verify(fa12.data.balances[admin.address].balance == 600) + scenario.h3("Set reserve factor") + reserveFactorArg = sp.nat(1) + TestAdminFunctionality.checkAdminRequirementH4(scenario, "Set reserve factor", bLevel, admin, alice, c1.setReserveFactor, reserveFactorArg) + scenario.verify(c1.data.reserveFactorMantissa == reserveFactorArg) - scenario.h3("sweepFA12 insufficient") - scenario += c1.sweepFA12(sp.record(tokenAddress = fa12.address, amount = 600)).run(valid=False) + scenario.h3("Add reserves") + amountArg = sp.nat(10) + scenario += c1.addReserves(amountArg).run(sender = alice, level = bLevel.next()) + scenario.h4("Try add reserves in callback") + scenario += c1.getCash(sp.pair(sp.unit, c1.typed.addReserves)).run(sender=alice, level=bLevel.next(), valid=False) - scenario.h3("sweepMutez") - scenario += c1.verifyMutezBalance(100).run(amount=sp.mutez(100)) - scenario += c1.sweepMutez(sp.bool(False)) - scenario += c1.verifyMutezBalance(0) + scenario.h3("Reduce reserves") + amountArg = sp.nat(5) + TestAdminFunctionality.checkAdminRequirementH4(scenario, "reduce reserves", bLevel, admin, alice, c1.reduceReserves, amountArg) + scenario.h4("Try to reduce insufficient") + scenario += c1.reduceReserves(sp.nat(int(1e20))).run(sender = admin, level = bLevel.next(), valid=False) + scenario.h3("Check hardResetOp") + scenario += c1.setActiveOp(1).run(sender = admin, level = bLevel.next()) + scenario.verify(sp.len(c1.data.activeOperations) == sp.nat(1)) + TestAdminFunctionality.checkAdminRequirementH4(scenario, "hardResetOp", bLevel, admin, alice, c1.hardResetOp, sp.unit) + scenario.verify(sp.len(c1.data.activeOperations) == sp.nat(0)) - scenario.h2("Test sweep to contract") - adminContract = TestAdminContract(admin.address) - c2 = TestSweepTokens(adminContract.address) - scenario += adminContract - scenario += c2 - scenario.h3("sweepFA12") - scenario += fa12.mint(sp.record(address = c2.address, value = 500)) - scenario += c2.sweepFA12(sp.record(tokenAddress = fa12.address, amount = 200)) - scenario.verify(fa12.data.balances[c2.address].balance == 300) - scenario.verify(fa12.data.balances[adminContract.address].balance == 200) + #Test views + scenario.h2("Test getBalanceOfUnderlying") + scenario.h3("View stored balance") + scenario += c1.getBalanceOfUnderlying(sp.pair(alice.address, view_result.typed.targetNat)).run(sender = alice, level = bLevel.next()) + scenario.verify_equal(view_result.data.last, sp.some(30)) + scenario.h3("Mint new tokens and check balance") + DataRelevance.updateAccrueInterest(scenario, bLevel, alice, c1) + scenario += c1.mint(100).run(sender=alice, level=bLevel.current()) + scenario += c1.getBalanceOfUnderlying(sp.pair(alice.address, view_result.typed.targetNat)).run(sender = alice, level = bLevel.current()) + scenario.verify_equal(view_result.data.last, sp.some(130)) + scenario.h3("Try with nonexistent account") + scenario += c1.getBalanceOfUnderlying(sp.pair(collateralToken, view_result.typed.targetNat)).run(sender = alice, level = bLevel.current(), valid=False) - scenario.h3("sweepMutez") - scenario += c2.verifyMutezBalance(100).run(amount=sp.mutez(100)) - scenario += c2.sweepMutez(sp.bool(True)) - scenario += c2.verifyMutezBalance(0) + scenario.h2("Test getAccountSnapshot") + DataRelevance.updateAccrueInterest(scenario, bLevel, alice, c1) + scenario += c1.updateAccountSnapshot(alice.address).run(sender = alice, level = bLevel.current()) + scenario.verify(c1.data.accCTokenBalance == sp.nat(129723817)) + scenario.verify(c1.data.accBorrowBalance == sp.nat(0)) + scenario.verify(c1.data.accExchangeRateMantissa == sp.nat(1003785157872)) diff --git a/contracts/tests/CTokenTest.py b/contracts/tests/CTokenTest.py index 61779362..66a29adf 100644 --- a/contracts/tests/CTokenTest.py +++ b/contracts/tests/CTokenTest.py @@ -157,7 +157,7 @@ def test(): scenario.h3("Redeem underlying") DataRelevance.updateAllRelevance(scenario, bLevel, carl, c1, cmpt, c1.address, carl.address) scenario += c1.redeemUnderlying(10).run(sender=alice, level=bLevel.current()) - scenario.verify(c1.data.ledger[alice.address].balance == sp.nat(30188680)) # due to exchange rate changes: 10 underlying < 10 000 000 CToken + scenario.verify(c1.data.ledger[alice.address].balance == sp.nat(30188679)) # due to exchange rate changes: 10 underlying < 10 000 000 CToken scenario.h3("Try redeem in callback") scenario += c1.getCash(sp.pair(sp.unit, c1.typed.redeem)).run(sender=alice, level=bLevel.next(), valid=False) scenario.h3("Try redeem underlying in callback") @@ -275,6 +275,6 @@ def test(): scenario.h2("Test getAccountSnapshot") DataRelevance.updateAccrueInterest(scenario, bLevel, alice, c1) scenario += c1.updateAccountSnapshot(alice.address).run(sender = alice, level = bLevel.current()) - scenario.verify(c1.data.accCTokenBalance == sp.nat(129723818)) + scenario.verify(c1.data.accCTokenBalance == sp.nat(129723817)) scenario.verify(c1.data.accBorrowBalance == sp.nat(0)) - scenario.verify(c1.data.accExchangeRateMantissa == sp.nat(1003785156984)) + scenario.verify(c1.data.accExchangeRateMantissa == sp.nat(1003785157872)) diff --git a/contracts/tests/ExponentialTest.py b/contracts/tests/ExponentialTest.py index 2ad90052..a04cbc31 100644 --- a/contracts/tests/ExponentialTest.py +++ b/contracts/tests/ExponentialTest.py @@ -46,6 +46,10 @@ def testDivExpNat(self, a, b): def testDivNatExp(self, a, b): self.data.result = self.div_nat_exp(a, b) + @sp.entry_point + def testDivNatExpCeil(self, a, b): + self.data.result = self.div_nat_exp_ceil(a, b) + @sp.entry_point def testTruncate(self, params): self.data.result = self.truncate(params.a) @@ -83,6 +87,7 @@ def test(): n1 = sp.nat(2) n2 = sp.nat(6) n3 = sp.nat(1500000000000000000) + n4 = sp.nat(1) e1 = sp.record(mantissa=(n1 * expScale)) e2 = sp.record(mantissa=(n2 * expScale)) e3 = sp.record(mantissa=(n3)) # real number 1.5 @@ -153,6 +158,15 @@ def test(): scenario.verify(c1.data.result == sp.nat(4)) scenario.h3("Div Nat / Exp : divide by zero") scenario += c1.testDivNatExp(a=n2, b=sp.record(mantissa=sp.nat(0))).run(valid=False) + scenario.h3("Div Nat / Exp With Ceil") + # normal div gives 0 + scenario += c1.testDivNatExp(a=n4, b=e3) + scenario.verify(c1.data.result == sp.nat(0)) + # ceil dive gives 1 + scenario += c1.testDivNatExpCeil(a=n4, b=e3) + scenario.verify(c1.data.result == sp.nat(1)) + scenario.h3("Div Nat / Exp With Ceil : divide by zero") + scenario += c1.testDivNatExpCeil(a=n4, b=sp.record(mantissa=sp.nat(0))).run(valid=False) scenario.h2("Test truncate") scenario.h3("Truncate integer")